//This script detects the following:
//Flash (modified to detect version specified below and up)
//Windows Media Player
//Java
//Shockwave
//RealPlayer
//QuickTime
//Acrobat Reader
//SVG Viewer


var Flash_MinimumContentVersion = 8;

var agt = navigator.userAgent.toLowerCase();
var ie  = (agt.indexOf("msie") != -1);
// var ns  = (navigator.appName.indexOf("Netscape") != -1);
// Do this instead for Opera and other browser compatibility
var ns  = (navigator && navigator.mimeTypes && navigator.mimeTypes.length);
var win = ((agt.indexOf("win")!=-1) || (agt.indexOf("32bit")!=-1));
var mac = (agt.indexOf("mac")!=-1);

if (ie && win) {
	var IE_FlashDetect = 'ShockwaveFlash.ShockwaveFlash.' + Flash_MinimumContentVersion;
	pluginlist = detectIE("Adobe.SVGCtl","SVG Viewer") + detectIE("SWCtl.SWCtl.1","Shockwave Director") + detectIE(IE_FlashDetect,"Shockwave Flash") + detectIE("rmocx.RealPlayer G2 Control.1","RealPlayer") + detectIE("QuickTimeCheckObject.QuickTimeCheck.1","QuickTime") + detectIE("MediaPlayer.MediaPlayer.1","Windows Media Player") + detectIE("acroPDF.PDF","Acrobat Reader") + 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") + detectNSFlash("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;
}


function detectNSFlash(name) {
	f = "";
	var plugin = (navigator.mimeTypes && navigator.mimeTypes["application/x-shockwave-flash"]) ? 	navigator.mimeTypes["application/x-shockwave-flash"].enabledPlugin : 0;

	if ( plugin ) {
		var words = navigator.plugins["Shockwave Flash"].description.split(" ");
		for (var i = 0; i < words.length; ++i)
			{
				if (isNaN(parseInt(words[i])))
				continue;
				var Flash_PluginVersion = words[i];
			}
		if (Flash_PluginVersion >= Flash_MinimumContentVersion) {
			f = name+",";
		}
	}
	return f;
}


pluginlist += navigator.javaEnabled() ? "Java," : "";
if (pluginlist.length > 0) pluginlist = pluginlist.substring(0,pluginlist.length-1);
