var flash_version_cached;
var flash_version_string;
function browser_flash_version() {
    if (typeof flash_version_cached != 'undefined') {
        return flash_version_cached;
    }

    var flash_version = 0;

    if (navigator.plugins && navigator.plugins['Shockwave Flash'] && navigator.plugins['Shockwave Flash'].description) {
        var dot = navigator.plugins['Shockwave Flash'].description.indexOf('.');
        flash_version = parseInt(navigator.plugins['Shockwave Flash'].description.substring(dot - 2, dot));
        flash_version_string = navigator.plugins['Shockwave Flash'].description;
    } else {
        try {
            var active_x = new ActiveXObject('ShockwaveFlash.ShockwaveFlash');
            if (active_x) {
                for (var i = 3; active_x != null; i++) {
                    active_x = new ActiveXObject('ShockwaveFlash.ShockwaveFlash.' + i);
                    if (active_x) {
                        flash_version = i;
                        flash_version_string = i;
                    }
                }
            }
        } catch(error) {}
    }

    flash_version_cached = flash_version;
    return flash_version;
}

function browser_redirect_unless_flash() {
    if (! (browser_flash_version() && browser_flash_version() >= 9)) {
        top.location.href = '/?action=flash_missing&flash_version_string=' + escape(flash_version_string);
    }
}
