function flashDetect() {
  
  var flashinstalled = 0;
  var flashversion = 0;
  
  if (navigator.plugins && navigator.plugins.length) {
    
    x = navigator.plugins["Shockwave Flash"];
    
    if (x) {
      
      flashinstalled = 2;
      
      if (x.description) {
        
        y = x.description;
        charPos = y.indexOf(".");
        flashversion = parseInt(y.substr(charPos - 3, charPos - 1));
        
      }
      
    } else
      flashinstalled = 1;
    
    if (navigator.plugins["Shockwave Flash 2.0"]) {
      
      flashinstalled = 2;
      flashversion = 2;
      
    }
    
  } else if (navigator.mimeTypes && navigator.mimeTypes.length) {
    
    x = navigator.mimeTypes["application/x-shockwave-flash"];
    
    if (x && x.enabledPlugin)
      flashinstalled = 2;
    else
      flashinstalled = 1;
    
  } else {
    
    for (var i = 10; i > 0; i--) {
      
      try {
        
        var flash = new ActiveXObject("ShockwaveFlash.ShockwaveFlash." + i);
        flashversion = i;
        flashinstalled = 2;
        
        break;
        
      } catch(e) {
      }
      
    }
    
  }
  
  var returnObj = new Object();
  
  returnObj.installed = flashinstalled;
  returnObj.version = flashversion;
  
  return returnObj;
  
}
