//This script detects the following:
//Flash
//Windows Media Player
//Java
//Director
//RealPlayer
//QuickTime

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);

var plugins = true;

if (ie && win) 
{	
	pluginlist = 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"); 
}

if (ns || !win) 
{
	nse = ""; for (var i=0;i<navigator.mimeTypes.length;i++) nse += navigator.mimeTypes[i].type.toLowerCase();
	pluginlist = 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");
}

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);

function isFlashInstalled()
{
	return pluginlist.indexOf("Shockwave Flash") != -1;
}
function isQuickTimeInstalled()
{
	return pluginlist.indexOf("QuickTime") != -1;
}
function isRealPlayerInstalled()
{
	return pluginlist.indexOf("RealPlayer") != -1;
}
function isDirectorInstalled()
{
	return pluginlist.indexOf("Shockwave Director") != -1;
}
function isJavaInstalled()
{
	return pluginlist.indexOf("Java") != -1;
}
function isWindowsMediaPlayerInstalled()
{
	return pluginlist.indexOf("Windows Media Player") != -1;
}

/*SAMPLE USAGE
if(isFlashInstalled())
	alert("Flash detected");
	
if(isQuickTimeInstalled())
	alert("QuickTime detected");
	
if(isRealPlayerInstalled())
	alert("Real Player detected");
	
if(isDirectorInstalled())
	alert("Director detected");

if(isJavaInstalled())
	alert("Java detected");

if(isWindowsMediaPlayerInstalled())
	alert("Windows Media Player detected");
*/