// Flash Version Detector  v1.2.1

// documentation: http://www.dithered.com/javascript/flash_detect/index.html

// license: http://creativecommons.org/licenses/by/1.0/

// code by Chris Nott (chris[at]dithered[dot]com)

// with VBScript code from Alastair Hamilton (now somewhat modified)

 

 

function isDefined(property) {

  return (typeof property != 'undefined');

}

 

var flashVersion = 0;

function getFlashVersion() {

            var latestFlashVersion = 8;

   var agent = navigator.userAgent.toLowerCase(); 

            

   // NS3 needs flashVersion to be a local variable

   if (agent.indexOf("mozilla/3") != -1 && agent.indexOf("msie") == -1) {

      flashVersion = 0;

   }

   

            // NS3+, Opera3+, IE5+ Mac (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') { 

                                    for (var i = latestFlashVersion; i >= 3; i--) {

            if (flashPlugin.description.indexOf(i + '.') != -1) {

               flashVersion = i;

               break;

            }

         }

                        }

            }

 

            // IE4+ 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) {

               var doc = '<scr' + 'ipt language="VBScript"\> \n';

      doc += 'On Error Resume Next \n';

      doc += 'Dim obFlash \n';

      doc += 'For i = ' + latestFlashVersion + ' To 3 Step -1 \n';

      doc += '   Set obFlash = CreateObject("ShockwaveFlash.ShockwaveFlash." & i) \n';

      doc += '   If IsObject(obFlash) Then \n';

      doc += '      flashVersion = i \n';

      doc += '      Exit For \n';

      doc += '   End If \n';

      doc += 'Next \n';

      doc += '</scr' + 'ipt\> \n';

      document.write(doc);

   }

                        

            // 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;

            }

 

            return flashVersion;

}

 

flashVersion_DONTKNOW = -1;

 
