Flash metadata gathering

HTML

<div>
    <ul>
        <li><b>Is Flash enabled?</b>  <span id="flash">???</span>

        </li>
        <li><b>Flash version?</b>  <span id="version">???</span>

        </li>
        <li><b>Using Pepper Flash?</b>  <span id="pepper">???</span>

        </li>
        <li><b>Using ActiveX?</b>  <span id="activex">???</span>

        </li>
    </ul>
</div>

JavaScript

var isFlashEnabled;
var getFlashVersion;
var isUsingPepperFlash;
var isUsingActiveX;

//
// SOURCES FOR MUCH OF THIS CODE:
//   - https://code.google.com/p/doctype-mirror/wiki/ArticleDetectFlash#The_code
//   - http://stackoverflow.com/questions/12866060/detecting-pepper-ppapi-flash-with-javascript
//
(function () {
    var hasFlash = false;
    var isActiveX = false;
    var flashVersion = '';
    var isPPAPI = false;

    /**
     * Derived from Apple's suggested sniffer.
     * @param {String} desc e.g. "Shockwave Flash 7.0 r61"
     * @return {String} "7.0.61"
     * @private
     */
    function parseFlashVersion(desc) {
        var matches = desc.match(/[\d]+/g);
        matches.length = 3; // To standardize IE vs FF
        return matches.join('.');
    }

    function isPepperFlash(flashPlayerFileName) {
        return !!flashPlayerFileName && (flashPlayerFileName = flashPlayerFileName.toLowerCase()) && (
        flashPlayerFileName === "pepflashplayer.dll" || flashPlayerFileName === "libpepflashplayer.so" || flashPlayerFileName === "pepperflashplayer.plugin" || flashPlayerFileName.slice(-13) === "chrome.plugin") || flashPlayerFileName.indexOf("pepflashplayer") > -1 && flashPlayerFileName.indexOf(".dll");
    }

    function inspectPlugin(plugin) {
        if (plugin) {
            hasFlash = true;
            if (plugin.version) {
                flashVersion = parseFlashVersion(plugin.version);
            }
            if (!flashVersion && plugin.description) {
                flashVersion = parseFlashVersion(plugin.description);
            }
            if (plugin.filename) {
                isPPAPI = isPepperFlash(plugin.filename);
            }
        }
    }

    var plugin, ax, mimeType;

    if (navigator.plugins && navigator.plugins.length) {
        plugin = navigator.plugins['Shockwave Flash'];
        inspectPlugin(plugin);

        if (navigator.plugins['Shockwave Flash 2.0']) {
            hasFlash = true;
            flashVersion =...