
var uagent = navigator.userAgent.toLowerCase();
var IE = (typeof document.all == "object" && (uagent.indexOf("win") != -1 || uagent.indexOf("32bit") != -1)) ? true : false;
var MOZ = (navigator.mimeTypes && navigator.plugins && !IE) ? true : false;
var pluginlist = new Array();
var result;

var PlugIns = new Array();

PlugIns['SVG'] = new Array();
PlugIns['SVG'][0] = "SVG Viewer";												// plugin.name (MOZ)
PlugIns['SVG'][1] = "image/svg-xml";										// mimeType (MOZ)
PlugIns['SVG'][2] = "Adobe.SVGCtl";											// ActiveX (IE)
PlugIns['SVG'][3] = "";																	// default version

PlugIns['Shockwave'] = new Array();
PlugIns['Shockwave'][0] = "Shockwave Director";
PlugIns['Shockwave'][1] = "application/x-director";
PlugIns['Shockwave'][2] = "SWCtl.SWCtl.";
PlugIns['Shockwave'][3] = "1";

PlugIns['Flash'] = new Array();
PlugIns['Flash'][0] = "Shockwave Flash";
PlugIns['Flash'][1] = "application/x-shockwave-flash";
PlugIns['Flash'][2] = "ShockwaveFlash.ShockwaveFlash.";
PlugIns['Flash'][3] = "1";

PlugIns['RealPlayer'] = new Array();										// Versionsabfrage funzt nur in MOZ
PlugIns['RealPlayer'][0] = "RealPlayer";
PlugIns['RealPlayer'][1] = "audio/x-pn-realaudio-plugin";
PlugIns['RealPlayer'][2] = "rmocx.RealPlayer G2 Control.";
PlugIns['RealPlayer'][3] = "1";

PlugIns['QuickTime'] = new Array();											// Versionsabfrage funzt nur in MOZ
PlugIns['QuickTime'][0] = "QuickTime";
PlugIns['QuickTime'][1] = "video/quicktime";
PlugIns['QuickTime'][2] = "QuickTimeCheckObject.QuickTimeCheck.";
PlugIns['QuickTime'][3] = "1";

PlugIns['WMP'] = new Array();														// Versionsabfrage funzt nicht
PlugIns['WMP'][0] = "Windows Media Player";
PlugIns['WMP'][1] = "application/x-mplayer2";
PlugIns['WMP'][2] = "MediaPlayer.MediaPlayer.";
PlugIns['WMP'][3] = "1";

PlugIns['Acrobat'] = new Array();												// Versionsabfrage funzt nur in MOZ
PlugIns['Acrobat'][0] = "Adobe Acrobat";
PlugIns['Acrobat'][1] = "application/pdf";
PlugIns['Acrobat'][2] = "PDF.PdfCtrl.";
PlugIns['Acrobat'][3] = "5";

function detectPlugIn(which, version) {
	result = false;
	var type = which;
	
	if(type != "Java") {
		
		//var version_arr = which.match(/(.*)([0-9.]+)/);
		//var type = version_arr[1];
		//	type = type.replace(/ $/, "");
		//var version = version_arr[2];
		
		if(typeof version == "number") PlugIns[type][3] = version;
		
		if(IE) {
			document.writeln('<script language="VBScript">');
			document.writeln('detectableWithVB = False');
			document.writeln('If ScriptEngineMajorVersion >= 2 then');
			document.writeln('detectableWithVB = True');
			document.writeln('End If');
		
			document.writeln('on error resume next');
			document.writeln('If detectableWithVB Then');
			document.writeln('result = (IsObject(CreateObject("' + PlugIns[type][2] + PlugIns[type][3] + '")))');
			document.writeln('End If');
			document.writeln('</scr' + 'ipt>');
		}
		else if(MOZ) {
			var theVersionIndex, theVersion, theVersion_arr;
			
			if(navigator.mimeTypes[PlugIns[type][1]] && navigator.mimeTypes[PlugIns[type][1]].enabledPlugin != null) {
				
				if(typeof version != "number") {
					result = true;
				}
				else if(navigator.plugins) {
					for(var i = 0; i < navigator.plugins.length; i++) {
						if(navigator.plugins[i].name.indexOf(PlugIns[type][0]) != - 1) {
							//alert(navigator.plugins[i].name);
							//alert(navigator.plugins[i].description);
							if(navigator.plugins[i].description.indexOf(".") != - 1 || navigator.plugins[i].name.indexOf(".") != - 1) {
								//theVersionIndex = navigator.plugins[i].description.indexOf(".");
								//theVersion = parseInt(navigator.plugins[i].description.substring(theVersionIndex - 1, theVersionIndex));
								theVersion_arr = navigator.plugins[i].description.match(/[0-9]+[0-9.]+/);
								if(!theVersion_arr) {
									theVersion_arr = navigator.plugins[i].name.match(/[0-9]+[0-9.]+/);
								}
								//alert(parseFloat(theVersion_arr[0]));
								if(parseFloat(theVersion_arr[0]) >= PlugIns[type][3]) {
									result = true;
									break;
								}
							}
						}
					}
				}
			}
		}
	}
	else {
		if(navigator.javaEnabled()) result = true;
	}
	
	pluginlist[type] = new Array();
	pluginlist[type][0] = result;
}