﻿
/* PluginDetect v0.7.2 by Eric Gerds www.pinlady.net/PluginDetect [ onWindowLoaded isMinVersion getVersion onDetectionDone Java(OTF&NOTF) QT DevalVR Shockwave Flash WMP Silverlight VLC AdobeReader ] */

var PluginDetect = { handler: function(c, b, a) { return function() { c(b, a) } }, isDefined: function(b) { return typeof b != "undefined" }, isArray: function(b) { return (b && b.constructor === Array) }, isFunc: function(b) { return typeof b == "function" }, isString: function(b) { return typeof b == "string" }, num: function(a) { return (this.isString(a) && (/\d/).test(a)) }, getNumRegx: /[\d][\d\.\_,-]*/, splitNumRegx: /[\.\_,-]/g, getNum: function(b, c) { var d = this, a = d.num(b) ? (d.isDefined(c) ? new RegExp(c) : d.getNumRegx).exec(b) : null; return a ? a[0].replace(d.splitNumRegx, ",") : null }, compareNums: function(h, f, d) { var e = this, c, b, a, g = parseInt; if (e.num(h) && e.num(f)) { if (e.isDefined(d) && d.compareNums) { return d.compareNums(h, f) } c = h.split(e.splitNumRegx); b = f.split(e.splitNumRegx); for (a = 0; a < Math.min(c.length, b.length); a++) { if (g(c[a], 10) > g(b[a], 10)) { return 1 } if (g(c[a], 10) < g(b[a], 10)) { return -1 } } } return 0 }, formatNum: function(b) { var c = this, a, d; if (!c.num(b)) { return null } d = b.replace(/\s/g, "").split(c.splitNumRegx).concat(["0", "0", "0", "0"]); for (a = 0; a < 4; a++) { if (/^(0+)(.+)$/.test(d[a])) { d[a] = RegExp.$2 } } if (!(/\d/).test(d[0])) { d[0] = "0" } return d.slice(0, 4).join(",") }, $$hasMimeType: function(a) { return function(d) { if (!a.isIE) { var c, b, e, f = a.isString(d) ? [d] : d; for (e = 0; e < f.length; e++) { if (/[^\s]/.test(f[e]) && (c = navigator.mimeTypes[f[e]]) && (b = c.enabledPlugin) && (b.name || b.description)) { return c } } } return null } }, findNavPlugin: function(g, d) { var a = this.isString(g) ? g : g.join(".*"), e = d === false ? "" : "\\d", b, c = new RegExp(a + ".*" + e + "|" + e + ".*" + a, "i"), f = navigator.plugins; for (b = 0; b < f.length; b++) { if (c.test(f[b].description) || c.test(f[b].name)) { return f[b] } } return null }, AXO: window.ActiveXObject, getAXO: function(b, a) { var g = null, f, d = false, c = this; try { g = new c.AXO(b); d = true } catch (f) { } if (c.isDefined(a)) { delete g; return d } return g }, convertFuncs: function(f) { var a, g, d, b = /^[\$][\$]/, c = {}; for (a in f) { if (b.test(a)) { c[a] = 1 } } for (a in c) { try { g = a.slice(2); if (g.length > 0 && !f[g]) { f[g] = f[a](f) } } catch (d) { } } }, initScript: function() { var $ = this, nav = navigator, userAgent = $.isString(nav.userAgent) ? nav.userAgent : "", vendor = $.isString(nav.vendor) ? nav.vendor : "", platform = $.isString(nav.platform) ? nav.platform : ""; $.OS = (/win/i).test(platform) ? 1 : ((/mac/i).test(platform) ? 2 : ((/linux/i).test(platform) ? 3 : 4)); $.convertFuncs($); $.isIE = /*@cc_on!@*/false; $.IEver = $.isIE && ((/MSIE\s*(\d\.?\d*)/i).exec(userAgent)) ? parseFloat(RegExp.$1, 10) : -1; $.ActiveXEnabled = false; if ($.isIE) { var x, progid = ["Msxml2.XMLHTTP", "Msxml2.DOMDocument", "Microsoft.XMLDOM", "ShockwaveFlash.ShockwaveFlash", "TDCCtl.TDCCtl", "Shell.UIHelper", "Scripting.Dictionary", "wmplayer.ocx"]; for (x = 0; x < progid.length; x++) { if ($.getAXO(progid[x], 1)) { $.ActiveXEnabled = true; break } } $.head = $.isDefined(document.getElementsByTagName) ? document.getElementsByTagName("head")[0] : null } $.isGecko = !$.isIE && $.isString(navigator.product) && (/Gecko/i).test(navigator.product) && (/Gecko\s*\/\s*\d/i).test(userAgent); $.GeckoRV = $.isGecko ? $.formatNum((/rv\s*\:\s*([\.\,\d]+)/i).test(userAgent) ? RegExp.$1 : "0.9") : null; $.isSafari = !$.isIE && (/Safari\s*\/\s*\d/i).test(userAgent) && (/Apple/i).test(vendor); $.isChrome = !$.isIE && (/Chrome\s*\/\s*\d/i).test(userAgent); $.isOpera = !$.isIE && (/Opera\s*[\/]?\s*\d/i).test(userAgent); $.addWinEvent("load", $.handler($.runWLfuncs, $)) }, init: function(d, a) { var c = this, b; if (!c.isString(d)) { return -3 } if (d.length == 1) { c.getVersionDelimiter = d; return -3 } b = c[d.toLowerCase().replace(/\s/g, "")]; if (!b || !b.getVersion) { return -3 } c.plugin = b; if (!c.isDefined(b.installed) || a == true) { b.installed = b.version = b.version0 = b.getVersionDone = null; b.$ = c } c.garbage = false; if (c.isIE && !c.ActiveXEnabled) { if (b !== c.java) { return -2 } } return 1 }, fPush: function(b, a) { var c = this; if (c.isArray(a) && (c.isFunc(b) || (c.isArray(b) && b.length > 0 && c.isFunc(b[0])))) { a[a.length] = b } }, callArray: function(b) { var c = this, a; if (c.isArray(b)) { for (a = 0; a < b.length; a++) { if (b[a] === null) { return } c.call(b[a]); b[a] = null } } }, call: function(c) { var b = this, a = b.isArray(c) ? c.length : -1; if (a > 0 && b.isFunc(c[0])) { c[0](b, a > 1 ? c[1] : 0, a > 2 ? c[2] : 0, a > 3 ? c[3] : 0) } else { if (b.isFunc(c)) { c(b) } } }, $$isMinVersion: function(a) { return function(h, g, d, c) { var e = a.init(h), f, b = -1; if (e < 0) { return e } f = a.plugin; g = a.formatNum(typeof g == "number" ? g.toString() : (a.isString(g) ? a.getNum(g) : "0")); if (!a.num(g)) { return -3 } if (f.getVersionDone != 1) { f.getVersion(d, c); if (f.getVersionDone === null) { f.getVersionDone = 1 } } a.cleanup(); if (f.installed !== null) { b = f.installed <= 0.5 ? f.installed : (f.version === null ? 0 : (a.compareNums(f.version, g, f) >= 0 ? 1 : -1)) } return b } }, getVersionDelimiter: ",", $$getVersion: function(a) { return function(g, d, c) { var e = a.init(g), f, b; if (e < 0) { return null } f = a.plugin; if (f.getVersionDone != 1) { f.getVersion(d, c); if (f.getVersionDone === null) { f.getVersionDone = 1 } } a.cleanup(); b = (f.version || f.version0); return b ? b.replace(a.splitNumRegx, a.getVersionDelimiter) : b } }, cleanup: function() { var a = this; if (a.garbage && a.isDefined(window.CollectGarbage)) { window.CollectGarbage() } }, isActiveXObject: function(b) { var d = this, a, g, f = "/", c = '<object width="1" height="1" style="display:none" ' + d.plugin.getCodeBaseVersion(b) + ">" + d.plugin.HTML + "<" + f + "object>"; if (d.head.firstChild) { d.head.insertBefore(document.createElement("object"), d.head.firstChild) } else { d.head.appendChild(document.createElement("object")) } d.head.firstChild.outerHTML = c; try { d.head.firstChild.classid = d.plugin.classID } catch (g) { } a = false; try { if (d.head.firstChild.object) { a = true } } catch (g) { } try { if (a && d.head.firstChild.readyState < 4) { d.garbage = true } } catch (g) { } d.head.removeChild(d.head.firstChild); return a }, codebaseSearch: function(c) { var e = this; if (!e.ActiveXEnabled) { return null } if (e.isDefined(c)) { return e.isActiveXObject(c) } var j = [0, 0, 0, 0], g, f, b = e.plugin.digits, i = function(k, l) { return e.isActiveXObject((k == 0 ? l : j[0]) + "," + (k == 1 ? l : j[1]) + "," + (k == 2 ? l : j[2]) + "," + (k == 3 ? l : j[3])) }, h, d, a = false; for (g = 0; g < b.length; g++) { h = b[g] * 2; j[g] = 0; for (f = 0; f < 20; f++) { if (h == 1 && g > 0 && a) { break } if (h - j[g] > 1) { d = Math.round((h + j[g]) / 2); if (i(g, d)) { j[g] = d; a = true } else { h = d } } else { if (h - j[g] == 1) { h--; if (!a && i(g, h)) { a = true } break } else { if (!a && i(g, h)) { a = true } break } } } if (!a) { return null } } return j.join(",") }, addWinEvent: function(d, c) { var e = this, a = window, b; if (e.isFunc(c)) { if (a.addEventListener) { a.addEventListener(d, c, false) } else { if (a.attachEvent) { a.attachEvent("on" + d, c) } else { b = a["on" + d]; a["on" + d] = e.winHandler(c, b) } } } }, winHandler: function(d, c) { return function() { d(); if (typeof c == "function") { c() } } }, WLfuncs: [0], runWLfuncs: function(a) { a.winLoaded = true; a.callArray(a.WLfuncs); if (a.onDoneEmptyDiv) { a.onDoneEmptyDiv() } }, winLoaded: false, $$onWindowLoaded: function(a) { return function(b) { if (a.winLoaded) { a.call(b) } else { a.fPush(b, a.WLfuncs) } } }, $$onDetectionDone: function(a) { return function(h, g, e, b) { var c = a.init(h), j, d; if (c == -3) { return -1 } d = a.plugin; if (d.getVersionDone != 1) { j = a.isMinVersion ? a.isMinVersion(h, "0", e, b) : a.getVersion(h, e, b) } if (d.installed != -0.5 && d.installed != 0.5) { a.call(g); return 1 } if (d !== a.java) { return 1 }; a.fPush(g, d.funcs); return 0; return 1 } }, div: null, divWidth: 50, pluginSize: 1, emptyDiv: function() { var c = this, a, e, b, d = 0; if (c.div && c.div.childNodes) { for (a = c.div.childNodes.length - 1; a >= 0; a--) { b = c.div.childNodes[a]; if (b && b.childNodes) { if (d == 0) { for (e = b.childNodes.length - 1; e >= 0; e--) { b.removeChild(b.childNodes[e]) } c.div.removeChild(b) } else { } } } } }, onDoneEmptyDiv: function() { var a = this; if (!a.winLoaded) { return } if (a.WLfuncs && a.WLfuncs.length > 0 && a.isFunc(a.WLfuncs[a.WLfuncs.length - 1])) { return } if (a.java) { if (a.java.OTF == 3) { return } if (a.java.funcs && a.java.funcs.length > 0 && a.isFunc(a.java.funcs[a.java.funcs.length - 1])) { return } } a.emptyDiv() }, getObject: function(c, a) { var g, d = this, f = null, b = d.getContainer(c); try { if (b && b.firstChild) { f = b.firstChild } if (a && f) { f.focus() } } catch (g) { } return f }, getContainer: function(a) { return (a && a[0] ? a[0] : null) }, instantiate: function(i, c, f, a, j) { var l, m = document, h = this, r, q = m.createElement("span"), o, g, n = "/"; var k = function(t, s) { var v = t.style, d, u; if (!v) { return } v.outline = "none"; v.border = "none"; v.padding = "0px"; v.margin = "0px"; v.visibility = "visible"; if (h.isArray(s)) { for (d = 0; d < s.length; d = d + 2) { try { v[s[d]] = s[d + 1] } catch (u) { } } return } }, b = function() { var t, u = "pd33993399", s = null, d = (m.getElementsByTagName("body")[0] || m.body); if (!d) { try { m.write('<div id="' + u + '">o<' + n + "div>"); s = m.getElementById(u) } catch (t) { } } d = (m.getElementsByTagName("body")[0] || m.body); if (d) { if (d.firstChild && h.isDefined(d.insertBefore)) { d.insertBefore(h.div, d.firstChild) } else { d.appendChild(h.div) } if (s) { d.removeChild(s) } } else { } }; if (!h.isDefined(a)) { a = "" } if (h.isString(i) && (/[^\s]/).test(i)) { r = "<" + i + ' width="' + h.pluginSize + '" height="' + h.pluginSize + '" '; for (o = 0; o < c.length; o = o + 2) { if (/[^\s]/.test(c[o + 1])) { r += c[o] + '="' + c[o + 1] + '" ' } } r += ">"; for (o = 0; o < f.length; o = o + 2) { if (/[^\s]/.test(f[o + 1])) { r += '<param name="' + f[o] + '" value="' + f[o + 1] + '" />' } } r += a + "<" + n + i + ">" } else { r = a } if (!h.div) { h.div = m.createElement("div"); g = m.getElementById("plugindetect"); if (g) { h.div = g } else { h.div.id = "plugindetect"; b() } k(h.div, ["width", h.divWidth + "px", "height", (h.pluginSize + 3) + "px", "fontSize", (h.pluginSize + 3) + "px", "lineHeight", (h.pluginSize + 3) + "px", "verticalAlign", "baseline", "display", "block"]); if (!g) { k(h.div, ["position", "absolute", "right", "0px", "top", "0px"]) } } if (h.div && h.div.parentNode) { h.div.appendChild(q); k(q, ["fontSize", (h.pluginSize + 3) + "px", "lineHeight", (h.pluginSize + 3) + "px", "verticalAlign", "baseline", "display", "inline"]); try { if (q && q.parentNode) { q.focus() } } catch (l) { } try { q.innerHTML = r } catch (l) { } if (q.childNodes.length == 1 && !(h.isGecko && h.compareNums(h.GeckoRV, "1,5,0,0") < 0)) { k(q.firstChild, ["display", "inline"]) } return [q] } return [null] }, quicktime: { mimeType: ["video/quicktime", "application/x-quicktimeplayer", "image/x-macpaint", "image/x-quicktime"], progID: "QuickTimeCheckObject.QuickTimeCheck.1", progID0: "QuickTime.QuickTime", classID: "clsid:02BF25D5-8C17-4B23-BC80-D3488ABDDC6B", minIEver: 7, HTML: '<param name="src" value="A14999.mov" /><param name="controller" value="false" />', getCodeBaseVersion: function(a) { return 'codebase="#version=' + a + '"' }, digits: [8, 64, 16, 0], getVersion: function() { var g = this, d = g.$, c = null, f; if (!d.isIE) { if (d.OS != 3) { f = d.findNavPlugin(["QuickTime", "(Plug-in|Plugin)"]); if (f && f.name && d.hasMimeType(g.mimeType)) { c = d.getNum(f.name) } } } else { var e; if (d.IEver >= g.minIEver) { if (g.BIfuncs) { d.callArray(g.BIfuncs) } c = d.codebaseSearch() } else { e = d.getAXO(g.progID); if (e && e.QuickTimeVersion) { c = e.QuickTimeVersion.toString(16); c = c.charAt(0) + "." + c.charAt(1) + "." + c.charAt(2) } } } g.installed = c ? 1 : -1; c = d.formatNum(c); if (c) { var b = c.split(d.splitNumRegx); if (d.isIE && d.compareNums(c, "7,50,0,0") >= 0 && d.compareNums(c, "7,60,0,0") < 0) { b = [b[0], b[1].charAt(0), b[1].charAt(1), b[2]] } b[3] = "0"; c = b.join(",") } g.version = d.formatNum(c) } }, java: { mimeType: ["application/x-java-applet", "application/x-java-vm", "application/x-java-bean"], mimeTypeJPI: "application/x-java-applet;jpi-version=", classID: "clsid:8AD9C840-044E-11D1-B3E9-00805F499D93", DTKclassID: "clsid:CAFEEFAC-DEC7-0000-0000-ABCDEFFEDCBA", DTKmimeType: ["application/java-deployment-toolkit", "application/npruntime-scriptable-plugin;DeploymentToolkit"], JavaVersions: [[1, 9, 2, 30], [1, 8, 2, 30], [1, 7, 2, 30], [1, 6, 1, 30], [1, 5, 1, 30], [1, 4, 2, 30], [1, 3, 1, 30]], searchJavaPluginAXO: function() { var h = null, a = this, c = a.$, g = [], j = [1, 5, 0, 14], i = [1, 6, 0, 2], f = [1, 3, 1, 0], e = [1, 4, 2, 0], d = [1, 5, 0, 7], b = false; if (!c.ActiveXEnabled) { return null }; if (c.IEver >= a.minIEver) { g = a.searchJavaAXO(i, i, b); if (g.length > 0 && b) { g = a.searchJavaAXO(j, j, b) } } else { if (g.length == 0) { g = a.searchJavaAXO(f, e, false) } } if (g.length > 0) { h = g[0] } a.JavaPlugin_versions = [].concat(g); return h }, searchJavaAXO: function(l, i, m) { var n, f, h = this.$, q, k, a, e, g, j, b, r = []; if (h.compareNums(l.join(","), i.join(",")) > 0) { i = l } i = h.formatNum(i.join(",")); var o, d = "1,4,2,0", c = "JavaPlugin." + l[0] + "" + l[1] + "" + l[2] + "" + (l[3] > 0 ? ("_" + (l[3] < 10 ? "0" : "") + l[3]) : ""); for (n = 0; n < this.JavaVersions.length; n++) { f = this.JavaVersions[n]; q = "JavaPlugin." + f[0] + "" + f[1]; g = f[0] + "." + f[1] + "."; for (a = f[2]; a >= 0; a--) { b = "JavaWebStart.isInstalled." + g + a + ".0"; if (h.compareNums(f[0] + "," + f[1] + "," + a + ",0", i) >= 0 && !h.getAXO(b, 1)) { continue } o = h.compareNums(f[0] + "," + f[1] + "," + a + ",0", d) < 0 ? true : false; for (e = f[3]; e >= 0; e--) { k = a + "_" + (e < 10 ? "0" + e : e); j = q + k; if (h.getAXO(j, 1) && (o || h.getAXO(b, 1))) { r[r.length] = g + k; if (!m) { return r } } if (j == c) { return r } } if (h.getAXO(q + a, 1) && (o || h.getAXO(b, 1))) { r[r.length] = g + a; if (!m) { return r } } if (q + a == c) { return r } } } return r }, minIEver: 7, getMimeJPIversion: function() { var g, a = this, d = a.$, c = new RegExp("(" + a.mimeTypeJPI + ")(\\d.*)", "i"), j = new RegExp("Java", "i"), e, i, h = {}, f = 0, b; for (g = 0; g < navigator.mimeTypes.length; g++) { i = navigator.mimeTypes[g]; if (c.test(i.type) && (e = i.enabledPlugin) && (i = RegExp.$2) && (j.test(e.description) || j.test(e.name))) { h["a" + d.formatNum(i)] = i } } b = "0,0,0,0"; for (g in h) { f++; e = g.slice(1); if (d.compareNums(e, b) > 0) { b = e } } a.mimeTypeJPIresult = f > 0 ? a.mimeTypeJPI + h["a" + b] : ""; return f > 0 ? b : null }, queryNoApplet00: function(a) { var b = window.java, c; try { if (b.lang) { a.value = [b.lang.System.getProperty("java.version") + " ", b.lang.System.getProperty("java.vendor") + " "] } } catch (c) { } }, queryNoApplet: function() { var c = this, d = c.$, b = navigator.userAgent, f, a = c.queryNoApplet; if (!a.value) { a.value = [null, null]; if (!d.isIE && window.java) { if ((/opera.9\.(0|1)/i).test(b) && d.OS == 2) { } else { if (d.isGecko && d.compareNums(d.GeckoRV, "1,9,0,0") < 0 && d.compareNums(d.GeckoRV, "1,8,0,0") >= 0) { } else { c.queryNoApplet00(a) } } } } return a.value }, forceVerifyTag: [], jar: [], Enabled: navigator.javaEnabled(), VENDORS: ["Sun Microsystems Inc.", "Apple Computer, Inc."], init: function() { var a = this, b = a.$; a.tryApplet = [2, 2, 2]; a.DOMobj = [0, 0, 0, 0, 0, 0]; a.Applet0Index = 3; a.OTF = 0; a.BridgeResult = [[null, null], [null, null], [null, null]]; a.JavaActive = [0, 0, 0]; a.All_versions = []; a.mimeTypeJPIresult = ""; a.mimeObj = b.hasMimeType(a.mimeType); a.JavaPlugin_versions = []; a.funcs = []; var c = a.NOTF; if (c) { c.$ = b; c.count = 0; c.intervalLength = 250; c.countMax = 33 } }, getVersion: function(c, h) { var e, b = this, d = b.$, g = vendor = versionEnabled = null; if (b.getVersionDone === null) { b.init() } var i; if (d.isArray(h)) { for (i = 0; i < b.tryApplet.length; i++) { if (typeof h[i] == "number") { b.tryApplet[i] = h[i] } } } for (i = 0; i < b.forceVerifyTag.length; i++) { b.tryApplet[i] = b.forceVerifyTag[i] } if (d.isString(c)) { b.jar[b.jar.length] = c } if (b.getVersionDone == 0) { if (!b.version || b.useAnyTag()) { e = b.queryAnyApplet(c); if (e[0]) { b.installed = 1; b.EndGetVersion(e[0], e[1]) } } return } var f = b.queryDeployTK(); if (f.JRE) { g = f.JRE; vendor = b.VENDORS[0] } if (!d.isIE) { var l, j, a, k; k = (b.mimeObj && b.Enabled) ? true : false; if (!g && (e = b.getMimeJPIversion()) !== null) { g = e } if (!g && b.mimeObj) { e = "Java[^\\d]*Plug-in"; a = d.findNavPlugin(e); if (a) { e = new RegExp(e, "i"); l = e.test(a.description) ? d.getNum(a.description) : null; j = e.test(a.name) ? d.getNum(a.name) : null; if (l && j) { g = (d.compareNums(d.formatNum(l), d.formatNum(j)) >= 0) ? l : j } else { g = l || j } } } if (!g && b.mimeObj && d.isSafari && d.OS == 2) { a = d.findNavPlugin("Java.*\\d.*Plug-in.*Cocoa", false); if (a) { l = d.getNum(a.description); if (l) { g = l } } } if (g) { b.version0 = g; if (b.Enabled) { versionEnabled = g } } } else { if (!g && f.status == 0) { g = b.searchJavaPluginAXO(); if (g) { vendor = b.VENDORS[0] } } if (g) { b.version0 = g; if (b.Enabled && d.ActiveXEnabled) { versionEnabled = g } } } if (!versionEnabled || b.useAnyTag()) { e = b.queryAnyApplet(c); if (e[0]) { versionEnabled = e[0]; vendor = e[1] } } if (!versionEnabled && (e = b.queryNoApplet())[0]) { b.version0 = versionEnabled = e[0]; vendor = e[1]; if (b.installed == -0.5) { b.installed = 0.5 } } if (d.isSafari && d.OS == 2) { if (!versionEnabled && k) { if (b.installed === null) { b.installed = 0 } else { if (b.installed == -0.5) { b.installed = 0.5 } } } } if (b.jreDisabled()) { versionEnabled = null }; if (b.installed === null) { b.installed = versionEnabled ? 1 : (g ? -0.2 : -1) } b.EndGetVersion(versionEnabled, vendor) }, EndGetVersion: function(b, d) { var a = this, c = a.$; if (a.version0) { a.version0 = c.formatNum(c.getNum(a.version0)) } if (b) { a.version = c.formatNum(c.getNum(b)); a.vendor = (c.isString(d) ? d : "") } if (a.getVersionDone != 1) { a.getVersionDone = 0 } }, jreDisabled: function() { var c = this, e = c.$, d = c.queryDeployTK().JRE, a = 0, b; if (d && e.OS == 1) { if ((e.isGecko && e.compareNums(e.GeckoRV, "1,9,2,0") >= 0 && e.compareNums(d, "1,6,0,12") < 0) || (e.isChrome && e.compareNums(d, "1,6,0,12") < 0)) { a = 1 } }; return a }, queryDeployTK: function() { var d = this, g = d.$, b = d.queryDeployTK, i, a, c, h = len = null; if (!b.JREall) { b.JREall = []; b.JRE = null; b.status = 0 } else { return b } if ((g.isGecko && g.compareNums(g.GeckoRV, g.formatNum("1.6")) <= 0) || g.isSafari || (g.isIE && !g.ActiveXEnabled)) { return b } if (g.isIE && g.IEver >= 6) { d.DOMobj[0] = g.instantiate("object", [], []); h = g.getObject(d.DOMobj[0]) } else { if (!g.isIE && (c = g.hasMimeType(d.DTKmimeType)) && c.type) { d.DOMobj[0] = g.instantiate("object", ["type", c.type], []); h = g.getObject(d.DOMobj[0]) } } if (h) { if (g.isIE && g.IEver >= 6) { try { h.classid = d.DTKclassID } catch (i) { } }; try { var f = h.jvms; if (f) { len = f.getLength(); if (typeof len == "number") { b.status = len > 0 ? 1 : -1; for (a = 0; a < len; a++) { c = g.getNum(f.get(len - 1 - a).version); if (c) { b.JREall[a] = c } } } } } catch (i) { } } if (b.JREall.length > 0) { b.JRE = g.formatNum(b.JREall[0]) } return b }, queryAnyApplet: function(f) { var n = this, e = n.$, o = n.BridgeResult, h = n.DOMobj, b = n.Applet0Index, i = "&nbsp;&nbsp;&nbsp;&nbsp;", t = "A.class"; if (!e.isString(f) || !(/\.jar\s*$/).test(f) || (/\\/).test(f)) { return [null, null] } if (n.OTF < 1) { n.OTF = 1 } if (n.jreDisabled()) { return [null, null] } if ((e.isGecko || e.isChrome || (e.isOpera && !n.Enabled)) && !n.mimeObj && !n.queryNoApplet()[0]) { return [null, null] } if (n.OTF < 2) { n.OTF = 2 } if (!h[1] && n.canUseObjectTag()) { h[1] = e.instantiate("object", [], [], i) } if (!h[2]) { h[2] = e.instantiate("", [], [], i) } var d = f, r = "", m; if ((/[\/]/).test(f)) { m = f.split("/"); d = m[m.length - 1]; m[m.length - 1] = ""; r = m.join("/") } var j = ["archive", d, "code", t], l = ["mayscript", "true"], q = ["scriptable", "true"].concat(l), g = !e.isIE && n.mimeObj && n.mimeObj.type ? n.mimeObj.type : n.mimeType[0]; if (!h[b] && n.canUseObjectTag() && n.canTryApplet(0)) { h[b] = e.isIE ? e.instantiate("object", ["type", g].concat(j), ["codebase", r].concat(j).concat(q), i, n) : e.instantiate("object", ["type", g, "archive", d, "classid", "java:" + t], ["codebase", r, "archive", d].concat(q), i, n); o[0] = [0, 0]; n.query1Applet(b) } if (!h[b + 1] && n.canUseAppletTag() && n.canTryApplet(1)) { h[b + 1] = e.isIE ? e.instantiate("applet", ["alt", i].concat(l).concat(j), ["codebase", r].concat(l), i, n) : e.instantiate("applet", ["codebase", r, "alt", i].concat(l).concat(j), [].concat(l), i, n); o[1] = [0, 0]; n.query1Applet(b + 1) } if (!h[b + 2] && n.canUseObjectTag() && n.canTryApplet(2)) { h[b + 2] = e.isIE ? e.instantiate("object", ["classid", n.classID], ["codebase", r].concat(j).concat(q), i, n) : e.instantiate(); o[2] = [0, 0]; n.query1Applet(b + 2) }; if (n.OTF < 3 && ((h[b] && !o[0][0]) || (h[b + 1] && !o[1][0]) || (e.isIE && h[b + 2] && !o[2][0]))) { var c = n.NOTF.isJavaActive(); if (c >= 0) { n.OTF = 3; n.installed = c == 1 ? 0.5 : -0.5; n.NOTF.initAppletQuery() } }; var k, a = 0; for (k = 0; k < o.length; k++) { if (h[b + k] || n.canTryApplet(k)) { a++ } else { break } } if (a == o.length) { n.getVersionDone = n.forceVerifyTag.length > 0 ? 0 : 1 } return n.getBR() }, canUseAppletTag: function() { var a = this; return ((!a.$.isIE || a.Enabled) ? true : false) }, canUseObjectTag: function() { return ((!this.$.isIE || this.$.ActiveXEnabled) ? true : false) }, useAnyTag: function() { var b = this, a; for (a = 0; a < b.tryApplet.length; a++) { if (b.canTryApplet(a)) { return true } } return false }, canTryApplet: function(c) { var a = this, b = a.$; if (a.tryApplet[c] == 3) { return true } if (!a.version0 || !a.Enabled || (b.isIE && !b.ActiveXEnabled)) { if (a.tryApplet[c] == 2) { return true } if (a.tryApplet[c] == 1 && !a.getBR()[0]) { return true } } return false }, getBR: function() { var b = this.BridgeResult, a; for (a = 0; a < b.length; a++) { if (b[a][0]) { return [b[a][0], b[a][1]] } } return [b[0][0], b[0][1]] }, query1Applet: function(g) { var f, c = this, d = c.$, a = vendor = null, b = d.getObject(c.DOMobj[g], true); if (b) { try { a = b.getVersion() + " "; vendor = b.getVendor() + " "; b.statusbar(d.winLoaded ? " " : " ") } catch (f) { } if (d.num(a)) { c.BridgeResult[g - c.Applet0Index] = [a, vendor] } try { if (d.isIE && a && b.readyState != 4) { d.garbage = true; b.parentNode.removeChild(b) } } catch (f) { } } }, NOTF: { isJavaActive: function() { var e = this, c = e.$.java, a, b, d = -9; for (a = c.Applet0Index; a < c.DOMobj.length; a++) { b = e.isJavaActive_x_(a); c.JavaActive[a - c.Applet0Index] = b; if (b > d) { d = b } } return d }, isJavaActive_x_: function(g) { var h = this, d = h.$, c = d.java, f, b = d.getObject(c.DOMobj[g]), a = h.status(g); if (a == -2) { return -2 } if (h.status(1) >= 0) { return 0 } try { if (d.isIE && d.IEver >= c.minIEver && b.object) { return 1 } } catch (f) { } if (a == 1 && (d.isIE || ((c.version0 && c.Enabled && c.mimeObj) || c.queryNoApplet()[0]))) { return 1 } if (a < 0) { return -1 } return 0 }, status: function(c) { var f = this, d = f.$, b = d.java, h, a = d.getObject(b.DOMobj[c]), j = d.getContainer(b.DOMobj[c]), k = f.getObjectWidth(j), g = d.getContainer(b.DOMobj[2]), i = f.getObjectWidth(g); if (!a || !j) { return -2 } try { if (k >= 0 && i >= 0) { if (k == i && k > d.pluginSize) { return -1 } if (k != i && k == d.pluginSize && d.winLoaded && (!d.isIE || a.readyState == 4)) { return 1 } } } catch (h) { } return 0 }, getObjectWidth: function(b) { if (b) { var a = b.scrollWidth || b.offsetWidth; if (typeof a == "number") { return a } } return -1 }, initAppletQuery: function() { var b = this, a = b.$; if (!b.onIntervalQuery) { b.onIntervalQuery = b.$$onIntervalQuery(b); if (!a.winLoaded) { a.WLfuncs[0] = b.winOnLoadQuery } setTimeout(b.onIntervalQuery, b.intervalLength) } }, winOnLoadQuery: function(c) { var b = c.java, d = b.NOTF, a; if (b.OTF == 3) { a = d.AppletQuery(); d.queryCleanup(a[1], a[2]) } }, $$onIntervalQuery: function(a) { return function() { var d = a.$, c = d.java, b; if (c.OTF == 3) { b = a.AppletQuery(); if (b[0] || (d.winLoaded && a.count > a.countMax)) { a.queryCleanup(b[1], b[2]) } } a.count++; if (c.OTF == 3) { setTimeout(a.onIntervalQuery, a.intervalLength) } } }, AppletQuery: function() { var f = this, e = f.$, d = e.java, b, a, c; for (b = 0; b < d.BridgeResult.length; b++) { d.query1Applet(b + d.Applet0Index) } a = d.getBR(); c = (a[0] || f.isJavaActive() < 0) ? true : false; return [c, a[0], a[1]] }, queryCleanup: function(d, g) { var f = this, e = f.$, c = e.java, a; if (c.OTF == 4) { return } c.OTF = 4; var b = f.isJavaActive() == 1 ? true : false; if (d || c.queryNoApplet()[0]) { c.installed = 1 } else { if (b) { if (c.version0) { c.installed = 1; d = c.version0 } else { c.installed = 0 } } else { if (c.installed == 0.5) { c.installed = 0 } else { if (c.version0) { c.installed = -0.2 } else { c.installed = -1 } } } } c.EndGetVersion(d, g); e.callArray(c.funcs); if (e.onDoneEmptyDiv) { e.onDoneEmptyDiv() } } }, append: function(e, d) { for (var c = 0; c < d.length; c++) { e[e.length] = d[c] } }, JavaFix: function() { } }, devalvr: { mimeType: "application/x-devalvrx", progID: "DevalVRXCtrl.DevalVRXCtrl.1", classID: "clsid:5D2CF9D0-113A-476B-986F-288B54571614", getVersion: function() { var a = null, g, c = this.$, f; if (!c.isIE) { g = c.findNavPlugin("DevalVR"); if (g && g.name && c.hasMimeType(this.mimeType)) { a = g.description.split(" ")[3] } this.installed = a ? 1 : -1 } else { var b, h, d; h = c.getAXO(this.progID, 1); if (h) { b = c.instantiate("object", ["classid", this.classID], ["src", ""], "", this); d = c.getObject(b); if (d) { try { if (d.pluginversion) { a = "00000000" + d.pluginversion.toString(16); a = a.substr(a.length - 8, 8); a = parseInt(a.substr(0, 2), 16) + "," + parseInt(a.substr(2, 2), 16) + "," + parseInt(a.substr(4, 2), 16) + "," + parseInt(a.substr(6, 2), 16) } } catch (f) { } } } this.installed = a ? 1 : (h ? 0 : -1) } this.version = c.formatNum(a) } }, flash: { mimeType: ["application/x-shockwave-flash", "application/futuresplash"], progID: "ShockwaveFlash.ShockwaveFlash", classID: "clsid:D27CDB6E-AE6D-11CF-96B8-444553540000", getVersion: function() { var c = function(i) { if (!i) { return null } var e = /[\d][\d\,\.\s]*[rRdD]{0,1}[\d\,]*/.exec(i); return e ? e[0].replace(/[rRdD\.]/g, ",").replace(/\s/g, "") : null }; var j, g = this.$, h, f, b = null, a = null, d = null; if (!g.isIE) { j = g.findNavPlugin("Flash"); if (j && j.description && g.hasMimeType(this.mimeType)) { b = c(j.description) } } else { for (f = 15; f > 2; f--) { a = g.getAXO(this.progID + "." + f); if (a) { d = f.toString(); break } } if (d == "6") { try { a.AllowScriptAccess = "always" } catch (h) { return "6,0,21,0" } } try { b = c(a.GetVariable("$version")) } catch (h) { } if (!b && d) { b = d } } this.installed = b ? 1 : -1; this.version = g.formatNum(b); return true } }, shockwave: { mimeType: "application/x-director", progID: "SWCtl.SWCtl", classID: "clsid:166B1BCA-3F9C-11CF-8075-444553540000", getVersion: function() { var a = null, b = null, f, d, c = this.$; if (!c.isIE) { d = c.findNavPlugin("Shockwave for Director"); if (d && d.description && c.hasMimeType(this.mimeType)) { a = c.getNum(d.description) } } else { try { b = c.getAXO(this.progID).ShockwaveVersion("") } catch (f) { } if (c.isString(b) && b.length > 0) { a = c.getNum(b) } else { if (c.getAXO(this.progID + ".8", 1)) { a = "8" } else { if (c.getAXO(this.progID + ".7", 1)) { a = "7" } else { if (c.getAXO(this.progID + ".1", 1)) { a = "6" } } } } } this.installed = a ? 1 : -1; this.version = c.formatNum(a) } }, windowsmediaplayer: { mimeType: ["application/x-mplayer2", "application/asx"], progID: "wmplayer.ocx", classID: "clsid:6BF52A52-394A-11D3-B153-00C04F79FAA6", getVersion: function() { var a = null, e = this.$, b = null; this.installed = -1; if (!e.isIE) { if (e.hasMimeType(this.mimeType)) { if (e.findNavPlugin(["Windows", "Media", "(Plug-in|Plugin)"], false) || e.findNavPlugin(["Flip4Mac", "Windows", "Media"], false)) { this.installed = 0 } var d = e.isGecko && e.compareNums(e.GeckoRV, e.formatNum("1.8")) < 0; if (!d && e.findNavPlugin(["Windows", "Media", "Firefox Plugin"], false)) { var c = e.instantiate("object", ["type", this.mimeType[0]], [], "", this), f = e.getObject(c); if (f) { a = f.versionInfo } } } } else { b = e.getAXO(this.progID); if (b) { a = b.versionInfo } } if (a) { this.installed = 1 } this.version = e.formatNum(a) } }, silverlight: { mimeType: "application/x-silverlight", progID: "AgControl.AgControl", digits: [9, 20, 9, 12, 31], getVersion: function() { var e = this.$, j = document, i = null, c = null, h = false, b = [1, 0, 1, 1, 1], u = [1, 0, 1, 1, 1], k = function(d) { return (d < 10 ? "0" : "") + d.toString() }, n = function(s, d, v, w, t) { return (s + "." + d + "." + v + k(w) + k(t) + ".0") }, o = function(d, s) { return r((d == 0 ? s : u[0]), (d == 1 ? s : u[1]), (d == 2 ? s : u[2]), (d == 3 ? s : u[3]), (d == 4 ? s : u[4])) }, r = function(t, s, x, w, v) { var v; try { return c.IsVersionSupported(n(t, s, x, w, v)) } catch (v) { } return false }; if (!e.isIE) { var a = [null, null], f = e.findNavPlugin("Silverlight Plug-in", false), g = e.isGecko && e.compareNums(e.GeckoRV, e.formatNum("1.6")) <= 0; if (f && e.hasMimeType(this.mimeType)) { i = e.formatNum(f.description); if (i) { u = i.split(e.splitNumRegx); if (parseInt(u[2], 10) >= 30226 && parseInt(u[0], 10) < 2) { u[0] = "2" } i = u.join(",") } if (e.isGecko && !g) { h = true } if (!h && !g && i) { a = e.instantiate("object", ["type", this.mimeType], [], "", this); c = e.getObject(a); if (c) { if (r(b[0], b[1], b[2], b[3], b[4])) { h = true } if (!h) { c.data = "data:" + this.mimeType + ","; if (r(b[0], b[1], b[2], b[3], b[4])) { h = true } } } } } } else { c = e.getAXO(this.progID); var m, l, q; if (c && r(b[0], b[1], b[2], b[3], b[4])) { for (m = 0; m < this.digits.length; m++) { q = u[m]; for (l = q + (m == 0 ? 0 : 1); l <= this.digits[m]; l++) { if (o(m, l)) { h = true; u[m] = l } else { break } } if (!h) { break } } if (h) { i = n(u[0], u[1], u[2], u[3], u[4]) } } } this.installed = h && i ? 1 : (i ? -0.2 : -1); this.version = e.formatNum(i) } }, vlc: { mimeType: "application/x-vlc-plugin", progID: "VideoLAN.VLCPlugin", compareNums: function(e, d) { var c = this.$, k = e.split(c.splitNumRegx), i = d.split(c.splitNumRegx), h, b, a, g, f, j; for (h = 0; h < Math.min(k.length, i.length); h++) { j = /([\d]+)([a-z]?)/.test(k[h]); b = parseInt(RegExp.$1, 10); g = (h == 2 && RegExp.$2.length > 0) ? RegExp.$2.charCodeAt(0) : -1; j = /([\d]+)([a-z]?)/.test(i[h]); a = parseInt(RegExp.$1, 10); f = (h == 2 && RegExp.$2.length > 0) ? RegExp.$2.charCodeAt(0) : -1; if (b != a) { return (b > a ? 1 : -1) } if (h == 2 && g != f) { return (g > f ? 1 : -1) } } return 0 }, getVersion: function() { var b = this.$, d, a = null, c; if (!b.isIE) { if (b.hasMimeType(this.mimeType)) { d = b.findNavPlugin(["VLC", "(Plug-in|Plugin)"], false); if (d && d.description) { a = b.getNum(d.description, "[\\d][\\d\\.]*[a-z]*") } } this.installed = a ? 1 : -1 } else { d = b.getAXO(this.progID); if (d) { try { a = b.getNum(d.VersionInfo, "[\\d][\\d\\.]*[a-z]*") } catch (c) { } } this.installed = d ? 1 : -1 } this.version = b.formatNum(a) } }, adobereader: { mimeType: "application/pdf", progID: ["AcroPDF.PDF", "PDF.PdfCtrl"], classID: "clsid:CA8A9780-280D-11CF-A24D-444553540000", savedResults: {}, matchMime2Plugin: function(b, d) { var a = this, e = a.$, c; if ((c = e.hasMimeType(b)) && (c = c.enabledPlugin) && ((c.description && d.test(c.description)) || (c.name && d.test(c.name)))) { return c } return 0 }, pluginHasMimeType: function(e, c, d) { var b = this, f = b.$, a; for (a in e) { if (e[a] && e[a].type && e[a].type == c) { return 1 } } if (b.matchMime2Plugin(c, d)) { return 1 } return 0 }, getVersion: function(i) { var d = this, c = d.$, f, j = p = null, g = null, a, b, h; i = (c.isString(i) && i.length) ? i.replace(/\s/, "").toLowerCase() : d.mimeType; h = d.savedResults; if (h[i]) { d.installed = h[i].installed; d.version = h[i].version; return } if (!c.isIE) { d.getVersionDone = 0; if (c.hasMimeType(d.mimeType)) { a = "Adobe.*PDF\\s*Plug-?in|Adobe.*Acrobat\\s*Plug-?in|Adobe.*Reader\\s*Plug-?in"; b = new RegExp(a, "i"); j = d.matchMime2Plugin(i, b); if (!j && !c.isDefined(h.navPlugin)) { h.navPlugin = c.findNavPlugin("(" + a + ")", false) } p = (j || h.navPlugin); if (p) { g = c.getNum(p.description) || c.getNum(p.name) || c.getNum(p.version) } if (p && !g) { if (d.pluginHasMimeType(p, "application/vnd.adobe.pdfxml", b)) { g = "9" } else { if (d.pluginHasMimeType(p, "application/vnd.adobe.x-mars", b)) { g = "8" } } } } d.installed = j && g ? 1 : (j ? 0 : (h.navPlugin ? -0.2 : -1)) } else { p = c.getAXO(d.progID[0]) || c.getAXO(d.progID[1]); try { g = (p || c.getObject(c.instantiate("object", ["classid", d.classID], ["src", ""], "", d))).GetVersions().split(",")[0].split("=")[1] } catch (f) { } d.installed = g ? 1 : (p ? 0 : -1) } g = c.formatNum(g); if (g) { g = g.split(","); g[3] = "0"; g = g.join(",") } d.version = g; h[i] = { version: d.version, installed: d.installed} } }, zz: 0 }; PluginDetect.initScript();