// Windows Media

var hasWMP = 0;
var hasWMP7 = 0;
var hasWMP52 = navigator.mimeTypes && navigator.mimeTypes["application/x-mplayer2"] && navigator.mimeTypes["application/x-mplayer2"].enabledPlugin;
var hasWMP64 = navigator.mimeTypes && navigator.mimeTypes["video/x-ms-wm"] && navigator.mimeTypes["video/x-ms-wm"].enabledPlugin && navigator.mimeTypes["video/x-ms-wmv"] && navigator.mimeTypes["video/x-ms-wmv"].enabledPlugin;
var WMP7_version = "unknown";
var WMP_version = "unknown";

document.writeln('<object classid=CLSID:6BF52A52-394A-11d3-B153-00C04F79FAA6 codeBase=#Version=7,0,0,1954 height=1 id=WMP7 width=1><\/object>');
document.writeln('<script language=VBScript\>');
document.writeln('on error resume next');
document.writeln('hasWMP52 = (IsObject(CreateObject("MediaPlayer.MediaPlayer.1")))');
document.writeln('hasWMP64 = (NSPlay.FileName="")');
document.writeln('hasWMP7 = (IsObject(CreateObject("WMPlayer.OCX")))');
document.writeln('WMP7_version = WMP7.versionInfo');
document.writeln('<\/script\>');

if (WMP7_version != "unknown") { WMP_version = WMP7_version.slice(0,3); }
else if (hasWMP64 && (navigator.userAgent.indexOf("Safari") != -1)) { WMP_version = "9.0"; }
else if (hasWMP64) { WMP_version = "6.4"; } 
else if (hasWMP52) { WMP_version = "5.2"; }
else { WMP_version = "0"; }
if (typeof minWMPver == "undefined") minWMPver = 6.4;
hasWMP = (WMP_version >= minWMPver);

// Real

var hasRP = 0;
if (navigator.appVersion.indexOf('Mac') != -1) {
	if (navigator.plugins) {
		for (i=0; i < navigator.plugins.length; i++) {
			if(navigator.plugins[i].name == "RealPlayer(tm) G2 LiveConnect-Enabled Plug-in (Mac)")
				hasRP = 1;
		}
	}
} else {
	var RealMode = 0;
	var RealPlayer5 = 0;
	var RealPlayer4 = 0;
	var RealPlayerG2 = 0;
	if (navigator.userAgent.indexOf("MSIE") < 0) {
		numPlugins = navigator.plugins.length;
		for (i = 0; i < numPlugins; i++) {
  		plugin = navigator.plugins[i];
  		if (plugin.name.substring(0,10) == "RealPlayer") {
				RealMode = 1;
  		}
		}
	}

	document.write('<script language=VBScript\> \n');
	document.write('on error resume next \n');
	document.write('RealPlayerG2 = (NOT IsNull(CreateObject("rmocx.RealPlayer G2 Control")))\n');
	document.write('RealPlayer5 = (NOT IsNull(CreateObject("RealPlayer.RealPlayer(tm) ActiveX Control (32-bit)")))\n');
	document.write('RealPlayer4 = (NOT IsNull(CreateObject("RealVideo.RealVideo(tm) ActiveX Control (32-bit)")))\n');
	document.write('<\/script\> \n');

	if (RealMode || RealPlayerG2) hasRP = 1;
	else hasRP = 0;
}

// QuickTime

var hasQT = 0;
document.write('<script language=VBScript\> \n');
document.write('on error resume next \n');
document.write('Set theObject = CreateObject("QuickTimeCheckObject.QuickTimeCheck.1")\n');
document.write('On Error goto 0\n');
document.write('If IsObject(theObject) Then\n');
document.write('If theObject.IsQuickTimeAvailable(0) Then\n');
document.write('hasQT = 1\n');
document.write('End If\n');
document.write('End If\n');
document.write('<\/script\> \n');
if (navigator.plugins) {
	for (i=0; i < navigator.plugins.length; i++ ) {
		if (navigator.plugins[i].name.indexOf("QuickTime") >= 0) {
			hasQT = 1;
		}
	}
}


// Java

var javaVer = '0';
var minJavaVer = '1.4.1';
var hasJava = navigator.javaEnabled();
var hasMinJava = false;
var javVendor = '';
var hasSunVM = false;

function checkPluginsArray() {
	var v = '0'; var v2; var p; var res;
	for (var i=0; i < navigator.plugins.length; i++) {
		p = navigator.plugins[i];
		if (p.name.indexOf("Java Plug-in") >= 0) {
			res = p.description.match(/\d\.\d(.\d)?/);
			if (res) {
				v2 = res[0];
				if (v2 > v) v = v2;
			}
		}
	}
	return v;
}

function checkMimeTypes() {
	var v = '0'; var v2; var p; var res;
	for (var i=0; i < navigator.mimeTypes.length; i++) {
		p = navigator.mimeTypes[i];
		if (p.type.indexOf("java-applet") >= 0) {
			res = p.type.match(/\d\.\d(.\d)?/);
			if (res) {
				v2 = res[0];
				if (v2 > v) v = v2;
			}
		}
	}
	return v;
}

function checkApplet() {
	var v = '0';
	document.write('<applet codebase="/lib/" code="DetectPluginApplet.class" name="Detect" id="Detect" width=1 height=1 viewastext mayscript></applet>');
	try { 
		v = document.Detect.getJavaVersion();
		javaVendor = document.Detect.getJavaVendor();
		hasSunVM = (javaVendor.indexOf("Sun") != -1);
		return v;
	} catch (err) {
		return '0';
	}
}

function checkJava() {
	if (!hasJava) {
		hasMinJava = false;
	} else {
		if (navigator.plugins && navigator.plugins.length) {
			javaVer = checkPluginsArray();
			if ((javaVer == '0') && navigator.mimeTypes && navigator.mimeTypes.length) {
				javaVer = checkMimeTypes();
			}
		} else {
			javaVer = checkApplet();
		}
	
		if (javaVer < minJavaVer) {
			hasMinJava	= false;
		} else {
			hasMinJava = true;
		}
		if (javaVer == '0') javaVer = "unknown";
	}
}

//Run actual check in browser.js
