
var flash4_detected = false;
var flash5_detected = false;
var flash6_detected = false;
// this is where we write out the VBScript for MSIE Windows
var startTagFix = '</';
var msie_windows = 0;
if((navigator.userAgent.indexOf('MSIE') != -1) && (navigator.userAgent.indexOf('Win') != -1))
{
  msie_windows = 1;
  document.writeln('<script language="VBscript">');
  document.writeln('\'This will scan for plugins for all versions of Internet Explorer that have a VBscript engine version 2 or greater.');
  document.writeln('\'This includes all versions of IE4 and beyond and some versions of IE 3.');
  document.writeln('Dim detect_through_vb');
  document.writeln('detect_through_vb = 0');
  document.writeln('If ScriptEngineMajorVersion >= 2 then');
  document.writeln('  detect_through_vb = 1');
  document.writeln('End If');
  document.writeln('Function activeXDetect(activeXname)');
  document.writeln('  on error resume next');
  document.writeln('  If ScriptEngineMajorVersion >= 2 then');
  document.writeln('     activeXDetect = False');
  document.writeln('     activeXDetect = IsObject(CreateObject(activeXname))');
  document.writeln('     If (err) then');
  document.writeln('        activeXDetect = False');
  document.writeln('     End If');
  document.writeln('   Else');
  document.writeln('     activeXDetect = False');
  document.writeln('   End If');
  document.writeln('End Function');
  document.writeln(startTagFix+'script>');
  //document.writeln('<\/script>');
}

function pluginDetect(plugindescription, pluginxtension, pluginmime, activeXname)
{
  //This script block will test all user agents that have a real plug-in array
  //(i.e. Netscape) and set the variables, otherwise it directs the routine
  //to activeXDetect to detect the activeX control.

  // First define some variables
  var i,plugin_undetectable=0,detected=0, daPlugin=new Object();

  // Then we check to see if it's an MSIE browser that you can actually
  // check for the plugin in question.

  if (msie_windows && detect_through_vb)
  {
    plugin_undetectable = 0;
  }
  else
  {
    plugin_undetectable = 1;
  }

  // If it has a real plugins or mimetypes array, we look there for the plugin first
  if(navigator.plugins)
  {
    numPlugins = navigator.plugins.length;
    if (numPlugins > 1)
    {
      if(navigator.mimeTypes && navigator.mimeTypes[pluginmime]
      && navigator.mimeTypes[pluginmime].enabledPlugin
      && (navigator.mimeTypes[pluginmime].suffixes.indexOf(pluginxtension) != -1))
      { // seems like we have it, let's just make sure and check the version (if specified)
        if ((navigator.appName == 'Netscape') && (navigator.appVersion.indexOf('4.0') != -1))
        { // stupid, stupid Netscape can't handle the references to navigator.plugins by number, sooo...
          for(i in navigator.plugins)
          {
            if ((navigator.plugins[i].description.indexOf(plugindescription) != -1)
            || (i.indexOf(plugindescription) != -1))
            { // some versions of quicktime have no description. feh!
              detected=1;
              break;
            }
          }
        }
        else
        {
          for (i = 0; i < numPlugins; i++)
          {
            daPlugin = navigator.plugins[i];
            if ((daPlugin.description.indexOf(plugindescription) != -1)
            || (daPlugin.name.indexOf(plugindescription) != -1))
            {
               detected=1;
               break;
            }
          }
        }

        // Mac weirdness
        if (navigator.mimeTypes[pluginmime] == null)
        {
          detected = 0;
        }
      }
      return detected;
    }
    else if((msie_windows == 1) && !plugin_undetectable)
    {
      return activeXDetect(activeXname);
    }
    else
    {
      return 0;
    }
  }
  else
  {
    return 0;
  }
}

if(pluginDetect('Flash 4', 'swf', 'application/x-shockwave-flash','ShockwaveFlash.ShockwaveFlash.4')) 
{
   flash4_detected = true;
}

if(pluginDetect('Flash 5', 'swf', 'application/x-shockwave-flash','ShockwaveFlash.ShockwaveFlash.5')) 
{
   flash5_detected = true;
   flash4_detected = true;
}
if(pluginDetect('Flash 6', 'swf', 'application/x-shockwave-flash','ShockwaveFlash.ShockwaveFlash.6')) 
{
   flash5_detected = true;
   flash4_detected = true;
}

var DOM = (document.getElementById!=null?true:false);
var IE = (document.all!=null?true:false);
var NS6 = (((navigator.appName == 'Netscape') && DOM)?true:false);
var platform = navigator.platform;
if (platform.toLowerCase().indexOf("mac")>=0) { DOM = false; IE = false; }

if ((IE || DOM) && (flash5_detected) && !NS6) {
   document.writeln('<div id="testImg" style="position: absolute; left: -14px; top:184px; height: 0; z-index: 1; visibility: visible"><object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,4,0,2,0" WIDTH=794 HEIGHT=586><param name=movie value="/images/crossword_home.swf"><param name=wmode value=transparent><param name=quality value=high><embed src="/images/crossword_home.swf" quality=high pluginspage="http://www.macromedia.com/shockwave/download/index.cgi?P1_Prod_Version=ShockwaveFlash" type="application/x-shockwave-flash" WIDTH=794 HEIGHT=586></embed></object></div>');
   }
   
function hide() {
document.all.testImg.style.visibility = 'hidden';
}   
