    // document.write(WM_easyDetect('flash') + WM_easyDetect('flash'));
<!-- hide JavaScript from non-JavaScript browsers
//
// JavaScript Browser Sniffer
// Eric Krok, Andy King, Michel Plungjan Jan. 31, 2002
// see http://www.webreference.com/ for more information
//
// This program is free software; you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
// the Free Software Foundation; either version 2 of the License, or
//  (at your option) any later version.
// adapted from Netscape's Ultimate client-side JavaScript client sniffer
// and andy king's sniffer
// Revised May 7 99 to add is.nav5up and is.ie5up (see below). (see below).

// 020214 - Added link for Opera/JS compatibility; added improvements for 
//          windows xp/2000 id in opera and aol 7 id (thanks to Les
//          Hill, Les.Hill@getronics.com, for the suggestion).
//
// 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
// (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_ie3, is_ie4, is_ie4up, is_ie5up, is_ie6...
// (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
//
/// 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. For DOM tests scripters commonly used the 
// is_getElementById test, but make sure you test your code as
// filter non-compliant browsers (Opera 5-6 for example) as some 
// browsers return true for this test, and don't fully support
// the W3C's DOM1.
//
if  (navigator.javaEnabled()==true) {j="enabled"}
else {j="disabled"};


tbp_browser="unknown";
tbp_version = is_minor;

if  (is_nav==true) {tbp_browser="Navigator "};
if  (is_ie==true) {tbp_browser="Microsoft Internet Explorer "};
if  (is_aol==true) {tbp_browser="AOL "};
if  (is_opera==true) {tbp_browser="Opera "};
if  (is_webtv==true) {tbp_browser="Web TV "};

/*		document.write("<P>" + "hotjava:" + is_hotjava + "<br>");
		document.write("hotjava3:" + is_hotjava3 + "<br>");
		document.write("hotjava3up:" + is_hotjava3up + "<br>");
		document.write("<P>" + "AOL TV(TVNavigator):" + is_TVNavigator + "<br>");*/



// 020131 included is_ie check to filter opera which doesn't recognize
// ScriptEngine() and spawns an error - dragle
tbp_os="unknown";
tbp_osversion = "unknown";
<!--
if  (is_win==true)  {tbp_os="Windows "};
if (is_win98==true) { tbp_osversion = "98"};
if (is_winnt==true) { tbp_osversion = "NT"} ;
if (is_winme==true) { tbp_osversion = "Millennium"} ;
if (is_win2k==true) { tbp_osversion = "2000"} ;
if (is_winxp==true) { tbp_osversion = "XP"}; 
if (tbp_osversion == "unknown") {tbp_osversion=", but it's either older than Windows 98 or I can't detect the version"}

if  (is_os2==true) {tbp_os="OS2"};
if  (is_mac==true) {tbp_os="an apple"};
if  (is_unix==true) {tbp_os="UNIX"};

	

//	document.write("win16:" + is_win16 + "<br>");
//	document.write("win31:" + is_win31 + "<br>");
//	document.write("win32:" + is_win32 + "<br>");
//	document.write("win95:" + is_win95 + "<br>");

//	document.write("mac68k:" + is_mac68k + "<br>");
//	document.write("macppc:" + is_macppc + "<br>");

/*	document.write("unix:" + is_unix + "<br>");
	document.write("sun:" + is_sun + "<br>");
//	document.write("sun4:" + is_sun4 + "<br>");
//	document.write("sun5:" + is_sun5 + "<br>");
//	document.write("suni86:" + is_suni86 + "<br>");
	document.write("irix:" + is_irix + "<br>");
//	document.write("irix5:" + is_irix5 + "<br>");
//	document.write("irix6:" + is_irix6 + "<br>");
	document.write("hpux:" + is_hpux + "<br>");
//	document.write("hpux9:" + is_hpux9 + "<br>");
//	document.write("hpux10:" + is_hpux10 + "<br>");
	document.write("aix:" + is_aix + "<br>");
//	document.write("aix1:" + is_aix1 + "<br>");
//	document.write("aix2:" + is_aix2 + "<br>");
//	document.write("aix3:" + is_aix3 + "<br>");
//	document.write("aix4:" + is_aix4 + "<br>");
	document.write("linux:" + is_linux + "<br>");
	document.write("sco:" + is_sco + "<br>");
	document.write("unixware:" + is_unixware + "<br>");
	document.write("mpras:" + is_mpras + "<br>");
	document.write("reliant:" + is_reliant + "<br>");
	document.write("dec:" + is_dec + "<br>");
	document.write("sinix:" + is_sinix + "<br>");
	document.write("bsd:" + is_bsd + "<br>");
	document.write("freebsd:" + is_freebsd + "<br>");

	document.write("vms:" + is_vms + "<br>");
*/

document.write('<h3>about your environment...</h3>');
document.write("<p>if you find any erors on this page, please send me details and I'll try to correct it.</p>");
document.write("the operating system is " + tbp_os + " " + tbp_osversion +"<br>");
 
document.write('<h4>about your plugins...</h4><p>'
+ '\nQuickTime: ' + WM_easyDetect('quicktime')
+ '<br>\nReal Player: ' + WM_easyDetect('realaudio')
+ '<br>');

/*document.write('<strong>Flash version: </strong>');*/
if(WM_pluginDetect('Flash 7', 'swf','application/x-shockwave-flash','ShockwaveFlash.ShockwaveFlash.7')) 
	{document.write('Your Flash version is 7');}
else if(WM_pluginDetect('Flash 6', 'swf','application/x-shockwave-flash','ShockwaveFlash.ShockwaveFlash.5')) 
	{document.write('Your Flash version is 6');}
else if(WM_pluginDetect('Flash 5', 'swf','application/x-shockwave-flash','ShockwaveFlash.ShockwaveFlash.5')) 
	{document.write('Your Flash version is 5');}
else if(WM_pluginDetect('Flash 4', 'swf','application/x-shockwave-flash','ShockwaveFlash.ShockwaveFlash.4')) 
	{document.write('Your Flash version is 4');}
else if(WM_pluginDetect('Flash 3', 'swf','application/x-shockwave-flash', 'ShockwaveFlash.ShockwaveFlash.3')) 
	{document.write('Your Flash version is 3');} 
else 
{document.write('You don\'t seem to have Flash 3-7 installed.');}
document.write('<br>');
/*document.write('<p><strong>Shockwave version: </strong>');*/
/*document.write('<p>');*/
if(WM_pluginDetect('Director', 'dcr', 'application/x-director', 'SWCtl.SWCtl.8.5')) 
	{document.write('Your Shockwave version is 8.5');}
else if(WM_pluginDetect('Director', 'dcr', 'application/x-director', 'SWCtl.SWCtl.8')) 
	{document.write('Your Shockwave version is 8');}
else if(WM_pluginDetect('Director', 'dcr', 'application/x-director', 'SWCtl.SWCtl.7')) 
	{document.write('Your Shockwave version is 7');}
else if(WM_pluginDetect('Director', 'dcr', 'application/x-director', 'SWCtl.SWCtl.6')) 
	{document.write('Your Shockwave version is 6');} 
else 
{document.write('You don\'t seem to have a version of Shockwave that I can detect installed.');}
var plugDetect = WM_pluginDetect('Director', 'dcr', 'application/x-director', 'SWCtl.SWCtl.1');
document.write('</p>');

document.write("<h4>about your browser...</h4>");

document.write("your browser is " + tbp_browser + " " + tbp_version +"<br>");

document.write("Java is " + j + "<br>");
        if (is_opera) {
           document.write("Javascript is version " + is_js + " <a href='http://www.opera.com/docs/specs/#ecmascript'>(but see Opera's compatibility statements)</a>");
        } else {
           document.write("Javascript is version " + is_js + "<br>");
        }
	
if((document.all) && (is_ie)) {
	document.write(ScriptEngine() + " version " + ScriptEngineMajorVersion() + "." + ScriptEngineMinorVersion() + "." + ScriptEngineBuildVersion() + " is installed<br>");
}

	document.write("<h4>about your browser capabilities...</h4>");
	document.write('document.all: ' + is_all + "<br>");
	document.write('document.anchors: ' + is_anchors + "<br>");
	document.write('document.cookie: ' + is_cookie + "<br>");
	document.write('document.forms: ' + is_forms + "<br>");
	document.write('document.getElementById: ' + is_getElementById + "<br>"); // new 001121 abk for ns6+
	document.write('document.getElementsByTagName: ' + is_getElementsByTagName + "<br>");
	document.write('document.documentElement: ' + is_documentElement + "<br>");
	document.write('document.images: ' + is_images + "<br>");
	document.write('document.layers: ' + is_layers + " - note that Netscape 6 always gives false here" + "<br>");
	document.write('document.links: ' + is_links + "<br>");
	document.write('window.frames: ' + is_frames + "<br>");
	document.write('window.length: ' + window.length +"<br>");
	document.write('window.RegExp: ' + is_regexp + "<br>");
	document.write('window.Option: ' + is_option + "<br>");
	document.write('window.screen: ' + is_screen + "<br>");
if (window.screen) {
	document.write("<p>your screen size is  " + window.screen.width + "x" + window.screen.height+"<br>");
	document.write('your available screen size is ' + screen.availWidth +  "x" + screen.availHeight + "<br>");
	document.write('the screen colour depth is ' + screen.colorDepth + " bits<br>");
	if (screen.fontSmoothingEnabled==true) {tbp_smoothing = ""} else {tbp_smoothing = "not "};
	document.write("font smoothing is " +tbp_smoothing +"enabled" + "</p>");
	}
