if (!PluginDetect) {
    var PluginDetect= {
        minIEver:5.5, 
        getNum:function (A) {
            if (!A) {
                return null
            }
            var m = /[\d][\d\.\_,-]*/.exec(A);
            return m ? m[0].replace(/[\.\_-]/g,",") : null
        },
        hasMimeType:function (_3) {
            var s, t, z, M = _3.constructor == String ? [_3] : _3;
            for (z = 0; z < M.length; z++) {
                s = navigator.mimeTypes[M[z]];
                if (s && s.enabledPlugin) {
                    t = s.enabledPlugin;
                    if (t.name || t.description) {
                        return s
                    }
                }
            }
            return null
        },
        findNavPlugin:function (N,_6) {
            var _7 = N.constructor == String ? N : N.join(".*"), numS = _6 === false ? "" : "\\d";
            var i, re = new RegExp(_7 + ".*" + numS + "|" + numS + ".*" + _7, "i");
            var _9 = navigator.plugins;
            for (i = 0; i < _9.length; i++) {
                if (re.test(_9[i].description) || re.test(_9[i].name)) {
                    return _9[i]
                }
            }
            return null
        },
        getAXO:function (_a) {
            var _b, e;
            try {
                _b = new ActiveXObject(_a);
                return _b
            } catch(e) {}
            return null
        },
        num:function (A) {
            return (typeof A != "string" ? false : (/\d/).test(A))
        },
        compareNums:function (_d,_e) {
            if (!this.num(_d) || !this.num(_e)) {
                return 0
            }
            var m1 = _d.split(","), m2 = _e.split(","), x, p = parseInt;
            for (x = 0; x < Math.min(m1.length, m2.length); x++) {
                if (p(m1[x], 10) > p(m2[x], 10)) {
                    return 1
                }
                if (p(m1[x], 10) < p(m2[x], 10)) {
                    return -1
                }
            }
            return 0
        },
        formatNum:function (num) {
            if (!this.num(num)) {
                return null
            }
            var n = num.replace(/[\.\_]/g,","), i;
            n = n.split(",").concat(["0","0","0","0"]);
            return n.slice(0,1).join(",")
        },
        initScript:function () {
            var $ = this, IE;
            $.isIE = (/*@cc_on!@*/false);
            $.IEver = -1;
            $.ActiveXEnabled = false;
            if ($.isIE) {
                IE = (/msie\s*\d\.{0,1}\d*/i).exec(navigator.userAgent);
                if (IE) {
                    $.IEver = parseFloat((/\d.{0,1}\d*/i).exec(IE[0]), 10)
                }
                var _13, x;
                _13 = ["ShockwaveFlash.ShockwaveFlash", "Msxml2.XMLHTTP", "Microsoft.XMLDOM", "Msxml2.DOMDocument", "TDCCtl.TDCCtl", "Shell.UIHelper", "Scripting.Dictionary", "wmplayer.ocx"];
                for (x = 0; x < _13.length; x++) {
                    if ($.getAXO(_13[x])) {
                        $.ActiveXEnabled = true;
                        break
                    }
                }
            }
        },
        init:function (_17) {
            var $ = this, IE, p;
            _17 = _17.toLowerCase().replace(/\s/g,"");
            p = $.plugin = $[_17];
            if (!p) {
                return -3
            }
            if (typeof p.minversion == "undefined") {
                p.minversion = {}
            }
            if (typeof p.version == "undefined") {
                p.version = null
            }
            if (typeof p.installed == "undefined") {
                p.installed = null
            }
            $.garbage = false;
            if ($.isIE && !$.ActiveXEnabled) {
                return -2
            }
            return 1
        },
        isMinVersion:function (_19, _1a) {
            var $ = PluginDetect, i = $.init(_19);
            if (i < 0) {
                return i
            }
            if (!$.num(_1a)) {
                return -3
            }
            var p = $.plugin, m = p.minversion;
            _1a = $.formatNum(_1a);
            if (typeof m["a" + _1a] == "undefined") {
                if (p.installed == null && typeof p.getCodeBaseVersion != "undefined" && $.IEver >= p.minIEver) {}
                else {
                    if (p.installed == null) {
                        p.getVersion()
                    }
                    if (p.installed == -1) {
                        m["a" + _1a] = -1
                    } 
                    else { 
                        if (p.version == null) {
                            m["a" + _1a] = 0
                        }
                        else {
                            m["a" + _1a] = ($.compareNums(p.version, _1a) >= 0 ? 1 : -1)
                        }
                    }
                }
            }
            $.cleanup();
            return m["a" + _1a];
            return -3
        },
        getVersion:function (_1e) { 
            var $ = PluginDetect, i = $.init(_1e);
            if (i < 0) {
                return null
            }
            var p = $.plugin;
            if (p.installed == null) {
                p.getVersion()
            }
            $.cleanup();
            return p.version;
            return null
        },
        cleanup:function () {},
        isActiveXObject:function (_22) {},
        detect:function (_24) {},
        search:function () {},
        dummy1:0}
    }
    
    PluginDetect.initScript();
    PluginDetect.flash = {
        mimeType:["application/x-shockwave-flash", "application/futuresplash"],
        progID:"ShockwaveFlash.ShockwaveFlash",
        classID:"clsid:D27CDB6E-AE6D-11CF-96B8-444553540000",
        getVersion:function () {
            var _3e = function (A) {
                if (!A) {
                    return null
                }
                var m = /[\d][\d\,\.\s]*[rRdD]{0,1}[\d\,]*/.exec(A);
                return m ? m[0].replace(/[rRdD\.]/g, ",").replace(/\s/g, "") : null
            };
            var p, $ = PluginDetect, e, i, version = null, AXO = null, majV = null;
            if (!$.isIE) {
                p = $.findNavPlugin("Flash");
                if (p && p.description && $.hasMimeType(this.mimeType)) {
                    version = _3e(p.description)
                }
            }
            else {
                for (i = 15; i > 2; i--) {
                    AXO = $.getAXO(this.progID + "." + i);
                    if (AXO) {
                        majV = i.toString();
                        break
                    }
                }
                if (majV == "6") {
                    try {
                        AXO.AllowScriptAccess = "always"
                    }
                    catch(e) {
                        return "6,0,21,0"
                    }
                }
                try {
                    version = _3e(AXO.GetVariable("$version"))
                }
                catch(e) {}
                if (!version && majV) {
                    version = majV
                }
            }
            this.installed = version ? 1 : -1;
            this.version = $.formatNum(version)
        }
    };
    
    PluginDetect.shockwave = {
        mimeType:"application/x-director",
        progID:"SWCtl.SWCtl",
        classID:"clsid:166B1BCA-3F9C-11CF-8075-444553540000",
        getVersion:function () {
            var _42 = null, s = null, e, p, $ = PluginDetect;
            if (!$.isIE) {
                p = $.findNavPlugin("Shockwave for Director");
                if (p && p.description && $.hasMimeType(this.mimeType)) {
                    _42 = $.getNum(p.description)
                }
            }
            else {
                try {
                    s = $.getAXO(this.progID).ShockwaveVersion("")
                }
                catch(e) {}
                if (typeof s == "string" && s.length > 0) {
                    _42 = $.getNum(s)
                }
                else {
                    if ($.getAXO(this.progID+".8")) {
                        _42 = "8"
                    }
                    else {
                        if ($.getAXO(this.progID + ".7")) {
                            _42 = "7"
                        }
                        else {
                            if ($.getAXO(this.progID + ".1")) {
                                _42 = "6"
                            }
                        }
                    }
                }
            }
            this.installed = _42 ? 1 : -1;
            this.version = $.formatNum(_42);
            if (!this.version)
                this.version = 0;
        }
    };

