/*******************************************************
JAVASCRIPT VERSION DETECT
All code by Ryan Parman, unless otherwise noted.
(c) 1997-2003, Ryan Parman
http://www.skyzyx.com
Distributed according to SkyGPL 2.1, http://www.skyzyx.com/license/
*******************************************************/

// DECLARE THE ARRAY
var javascript = new Array();

function jsVersion()
{
	document.write('<script language="JavaScript1.0">');
	document.write('var jsVer=1.0;');
	document.write('</script>');

	document.write('<script language="JavaScript1.1">');
	document.write('var jsVer=1.1;');
	document.write('</script>');

	document.write('<script language="JavaScript1.2">');
	document.write('var jsVer=1.2;');
	document.write('</script>');

	document.write('<script language="JavaScript1.3">');
	document.write('var jsVer=1.3;');
	document.write('</script>');

	document.write('<script language="JavaScript1.4">');
	document.write('var jsVer=1.4;');
	document.write('</script>');

	document.write('<script language="JavaScript1.5">');
	document.write('var jsVer=1.5;');
	document.write('</script>');

	document.write('<script language="JavaScript2.0">');
	document.write('var jsVer=2.0;');
	document.write('</script>');

	if (jsVer >= 0.0)
	{
		javascript.enabled=true;
	}
	else
	{
		javascript.enabled=false;
	}

	return jsVer;
}

javascript.version=jsVersion();

// JS Support Must Be At Least...
javascript.ver10=(javascript.version >= 1.0) ? true:false;
javascript.ver11=(javascript.version >= 1.1) ? true:false;
javascript.ver12=(javascript.version >= 1.2) ? true:false;
javascript.ver13=(javascript.version >= 1.3) ? true:false;
javascript.ver14=(javascript.version >= 1.4) ? true:false;
javascript.ver15=(javascript.version >= 1.5) ? true:false;
javascript.ver20=(javascript.version >= 2.0) ? true:false;

/*******************************************************
QUICKTIME DETECT
All code by Ryan Parman, unless otherwise noted.
(c) 1997-2003, Ryan Parman
http://www.skyzyx.com
Distributed according to SkyGPL 2.1, http://www.skyzyx.com/license/
*******************************************************/

var quicktime=new Object();

// Set some base values
quicktime.installed=false;
quicktime.version='0.0';

if (navigator.plugins && navigator.plugins.length)
{
	for (x=0; x<navigator.plugins.length; x++)
	{
		if (navigator.plugins[x].name.indexOf('QuickTime Plug-in') != -1)
		{
			quicktime.installed=true;
			quicktime.version=navigator.plugins[x].name.split('QuickTime Plug-in ')[1].split(' ')[0];
			break;
		}
	}
}
else if (window.ActiveXObject)
{
	try
	{
		oQTime=new ActiveXObject('QuickTimeCheckObject.QuickTimeCheck.1');
		if (oQTime)
		{
			quicktime.installed=oQTime.IsQuickTimeAvailable(0);
			quicktime.version=parseInt(oQTime.QuickTimeVersion.toString(16).substring(0,3))/100;
		}
	}
	catch(e) {}
}

quicktime.ver2=(quicktime.installed && parseInt(quicktime.version) >= 2) ? true:false;
quicktime.ver3=(quicktime.installed && parseInt(quicktime.version) >= 3) ? true:false;
quicktime.ver4=(quicktime.installed && parseInt(quicktime.version) >= 4) ? true:false;
quicktime.ver5=(quicktime.installed && parseInt(quicktime.version) >= 5) ? true:false;
quicktime.ver6=(quicktime.installed && parseInt(quicktime.version) >= 6) ? true:false;
quicktime.ver7=(quicktime.installed && parseInt(quicktime.version) >= 7) ? true:false;
quicktime.ver8=(quicktime.installed && parseInt(quicktime.version) >= 8) ? true:false;
quicktime.ver9=(quicktime.installed && parseInt(quicktime.version) >= 9) ? true:false;

/*******************************************************
FLASH DETECT 2.5
All code by Ryan Parman and mjac, unless otherwise noted.
(c) 1997-2004 Ryan Parman and mjac
http://www.skyzyx.com
*******************************************************/

// This script will test up to the following version.
flash_versions = 20;

// Initialize variables and arrays
var flash = new Object();
flash.installed=false;
flash.version='0.0';

// Dig through Netscape-compatible plug-ins first.
if (navigator.plugins && navigator.plugins.length) {
	for (x=0; x < navigator.plugins.length; x++) {
		if (navigator.plugins[x].name.indexOf('Shockwave Flash') != -1) {
			flash.version = navigator.plugins[x].description.split('Shockwave Flash ')[1];
			flash.installed = true;
			break;
		}
	}
}

// Then, dig through ActiveX-style plug-ins afterwords
else if (window.ActiveXObject) {
	for (x = 2; x <= flash_versions; x++) {
		try {
			oFlash = eval("new ActiveXObject('ShockwaveFlash.ShockwaveFlash." + x + "');");
			if(oFlash) {
				flash.installed = true;
				flash.version = x + '.0';
			}
		}
		catch(e) {}
	}
}

// Create sniffing variables in the following style: flash.ver[x]
// Modified by mjac
flash.ver = Array();
for(i = 4; i <= flash_versions; i++) {
	eval("flash.ver[" + i + "] = (flash.installed && parseInt(flash.version) >= " + i + ") ? true : false;");
}
