var flashVersion = 0;

function getFlashVersion() {
    var dontKnow = false;
    
    var agent = navigator.userAgent.toLowerCase(); 
    
    // NS3+ and Opera3+ (support plugin array):  check for Flash plugin in plugin array
    if (navigator.plugins != null && navigator.plugins.length > 0) {
        var flashPlugin = navigator.plugins['Shockwave Flash'];
        if (typeof flashPlugin == 'object') { 
            if (flashPlugin.description.indexOf('7.') != -1) flashVersion = 7;
			else if (flashPlugin.description.indexOf('6.') != -1) flashVersion = 6;
            else if (flashPlugin.description.indexOf('5.') != -1) flashVersion = 5;
            else if (flashPlugin.description.indexOf('4.') != -1) flashVersion = 4;
            else if (flashPlugin.description.indexOf('3.') != -1) flashVersion = 3;
        }
    }

    // IE4+ on Win32:  attempt to create an ActiveX object using VBScript
    else if (agent.indexOf("msie") != -1 && parseInt(navigator.appVersion) >= 4 && agent.indexOf("win")!=-1 && agent.indexOf("16bit")==-1) {
        document.write('<scr' + 'ipt language="VBScript"\> \n');
        document.write('on error resume next \n');
        document.write('if IsObject(CreateObject("ShockwaveFlash.ShockwaveFlash.7")) then flashVersion = 7 \n');
		document.write('if flashVersion < 7 and IsObject(CreateObject("ShockwaveFlash.ShockwaveFlash.6")) then flashVersion = 6 \n');
        document.write('if flashVersion < 6 and IsObject(CreateObject("ShockwaveFlash.ShockwaveFlash.5")) then flashVersion = 5 \n');
        document.write('if flashVersion < 5 and IsObject(CreateObject("ShockwaveFlash.ShockwaveFlash.4")) then flashVersion = 4 \n');
        document.write('if flashVersion < 4 and IsObject(CreateObject("ShockwaveFlash.ShockwaveFlash.3")) then flashVersion = 3 \n');   
        document.write('</scr' + 'ipt\> \n'); 
    }
        
    // WebTV 2.5 supports flash 3
    else if (agent.indexOf("webtv/2.5") != -1) flashVersion = 3;

    // older WebTV supports flash 2
    else if (agent.indexOf("webtv") != -1) flashVersion = 2;

    // Can't detect in all other cases
    else {
        flashVersion = flashVersion_DONTKNOW;
        dontKnow = true;
    }

    return flashVersion;
}

flashVersion_DONTKNOW = -1;