//<script>
var useJS=( (typeof navigator.plugins).toLowerCase().indexOf("object")!=-1);
if (useJS) useJS=navigator.plugins.length>0;
var isMac= navigator.userAgent.toLowerCase().indexOf("mac")!=-1;
if(!useJS && !isMac){
	document.writeln('<scr'+'ipt language="vbscript" type="text\/vbscript" src=".\/js\/plugin_detect.vb.inc"><\/scr'+'ipt>');
}

function getVersionJS(JSname,JSmime){
	var vers=0;
	for(i=0; i<navigator.plugins.length; i++){
		var thisplugin = navigator.plugins[i];
		var desc=thisplugin.description.toLowerCase();
		var name=thisplugin.name;
		//quick check for name
		if(desc.indexOf(JSname)==-1){ continue; }
		var found=false, m=0;
		//check mime type matches for exact match
		do{	var thismime = thisplugin[m].type;
			if(thismime==JSmime){ 
			found=true; break; }
		} while(++m<thisplugin.length);
		if(found){ break; }
	}
	if(found){
		//get version from description if possible, else try from name
		var reg = new RegExp( "(\\d+\\.*\\d*)","i" );
		if(reg.exec(desc)==null){ 
			if(reg.exec(name)==null){ 
				reg=null;
			}
		}
		var vers = reg==null? 0 : parseFloat(RegExp.$1);
		return isNaN(vers)?"failed" : vers;
	}else{ return 0; }
}
function detectPlugin(pluginname){
	switch(pluginname){
		case "flash" : 
			VBname="ShockwaveFlash.ShockwaveFlash."; var JSname="flash", JSmime="application/x-shockwave-flash"; break;
		case "shockwave" : 
			VBname="SWCtl.SWCtl."; var JSname="shockwave", JSmime="application/x-director"; break;
	}
	var pluginversion = useJS?getVersionJS(JSname,JSmime) : (!useJS && !isMac)? getVersionVB(VBname) : "failed";
	return pluginversion;
}
