/*  this function returns true or false depending on the result
    of comparing required and actual flash-plugin-version-number

    usage:

      <head>
        <script language="javascript" src="flashdetect.js"></script>
      </head>
      
      <body>
        <script language="javascript">
        <!-- 
          var requiredVersion = 4;               <- required plugin-version
          if(detectflash(requiredVersion)){
           document.write('HTML with flash');    <- insert flash-version-code here
          }else{
           document.write('HTML without flash'); <- insert non-flash-code here
          } 
        -->
        </script>
      </body>
    
*/  

var flash2Installed = false; 
var flash3Installed = false; 
var flash4Installed = false; 
var flash5Installed = false; 
var flash6Installed = false; 
var maxVersion = 6; 
var actualVersion = 0; 

var isIE = (navigator.appVersion.indexOf("MSIE")!= -1)? true : false; 
var isWin = (navigator.appVersion.indexOf("Windows")!= -1)? true : false; 

if(isIE && isWin){ 
  document.write('<SCR' + 'IPT LANGUAGE=VBScript\> \n'); 
  document.write('on error resume next \n'); 
  document.write('flash2Installed = (IsObject(CreateObject("Shockwaveflash.Shockwaveflash.2"))) \n'); 
  document.write('flash3Installed = (IsObject(CreateObject("Shockwaveflash.Shockwaveflash.3"))) \n'); 
  document.write('flash4Installed = (IsObject(CreateObject("Shockwaveflash.Shockwaveflash.4"))) \n'); 
  document.write('flash5Installed = (IsObject(CreateObject("Shockwaveflash.Shockwaveflash.5"))) \n'); 
  document.write('flash6Installed = (IsObject(CreateObject("Shockwaveflash.Shockwaveflash.6"))) \n'); 
  document.write('</SCR' + 'IPT\> \n'); // break up end tag so it doesn't end our script 
} 

function detectflash(requiredVersionNumber) { 

  if (navigator.plugins) { 
  
    if (navigator.plugins["Shockwave flash 2.0"] | navigator.plugins["Shockwave flash"]) { 
    
      var isVersion2 = navigator.plugins["Shockwave flash 2.0"]? " 2.0" : ""; 
      var flashDescription = navigator.plugins["Shockwave flash" + isVersion2].description; 
      
      var flashVersion = parseInt(flashDescription.charAt(flashDescription.indexOf(".") - 1)); 
      
      flash2Installed = flashVersion == 2; 
      flash3Installed = flashVersion == 3; 
      flash4Installed = flashVersion == 4; 
      flash5Installed = flashVersion == 5; 
      flash6Installed = flashVersion >= 6; 
    } 
  } 
  for (var i = 2; i <= maxVersion; i++) { 
    if (eval("flash" + i + "Installed") == true) actualVersion = i; 
  } 
  if(navigator.userAgent.indexOf("WebTV")!= -1) actualVersion = 2; 

  if(actualVersion >= requiredVersionNumber){
    return true;
  }else{
    return false;
  }
} 

