
var start, end, version, browser;
var msMadeMeUseVB = false;

if ((navigator.userAgent.indexOf('MSIE') != -1) && (navigator.userAgent.indexOf('Win') != -1)) {
    document.writeln ('<script language="VBscript">');

    document.writeln ('\'do a one-time test for a version of VBScript that can handle this code');
    document.writeln ('msMadeMeUseVB = False');
    document.writeln ('If ScriptEngineMajorVersion >= 2 then');
    document.writeln ('  msMadeMeUsevB = True');
    document.writeln ('End If');
    document.writeln ('\'this next function will detect most plugins');
    document.writeln ('Function detectActiveXControl(activeXControlName)');
    document.writeln ('  on error resume next');
    document.writeln ('  detectActiveXControl = False');
    document.writeln ('  If msMadeMeUseVB Then');
    document.writeln ('     detectActiveXControl = IsObject(CreateObject(activeXControlName))');
    document.writeln ('  End If');
    document.writeln ('End Function');

    document.writeln ('\'and the following function handles QuickTime');
    document.writeln ('Function detectQuickTimeActiveXControl()');
    document.writeln ('  on error resume next');
    document.writeln ('  detectQuickTimeActiveXControl = False');
    document.writeln ('  If msMadeMeUseVB Then');
    document.writeln ('    detectQuickTimeActiveXControl = False');
    document.writeln ('    hasQuickTimeChecker = false');
    document.writeln ('    Set hasQuickTimeChecker = CreateObject("QuickTimeCheckObject.QuickTimeCheck.1")');
    document.writeln ('    If IsObject(hasQuickTimeChecker) Then');
    document.writeln ('      If hasQuickTimeChecker.IsQuickTimeAvailable(0) Then ');
    document.writeln ('        detectQuickTimeActiveXControl = True');
    document.writeln ('      End If');
    document.writeln ('    End If');
    document.writeln ('  End If');
    document.writeln ('End Function');

    document.writeln('</scr' + 'ipt>');
} // end if

function detectPlugin () {
  // allow for multiple checks in a single pass
  var daPlugins = detectPlugin.arguments;
  // consider pluginFound to be false until proven true
  var pluginFound = false;
  // if plugins array exists and not bogus (like in IE 3)
  if (navigator.plugins && navigator.plugins.length > 0) {
    var pluginsArrayLength = navigator.plugins.length;
    // for each plugin...
    for (pluginsArrayCounter=0; pluginsArrayCounter < pluginsArrayLength; pluginsArrayCounter++ ) {
      // loop through all desired names and check each against the current plugin name
      var numFound = 0;
      for(namesCounter=0; namesCounter < daPlugins.length; namesCounter++) {
        // If we find the desired plugin name in either the plugin name or the description
        if ((navigator.plugins[pluginsArrayCounter].name.indexOf(daPlugins[namesCounter])        >= 0) ||
            (navigator.plugins[pluginsArrayCounter].description.indexOf(daPlugins[namesCounter]) >= 0) ) {
          // this name was found... increment the counter
          numFound++;
        }  // end if
      } // end for namesCounter
      // now that we have checked all the required names against this one plugin,
      // if the number we found matches the total number provided then we were successful
      if(numFound == daPlugins.length) {
        pluginFound = true;
        // if we've found the plugin, we can stop looking through at the rest of the plugins
        break;
      } // end if (numFound)
    } // end for pluginsArrayCounter
  } // end if (navigator.plugins)
  return pluginFound;
} // end detectPlugin

function detectFlash () {
	pluginFound = detectPlugin('Shockwave','Flash');
		// if not found, try to detect with VisualBasic
    if(!pluginFound && msMadeMeUseVB)
    	pluginFound = detectActiveXControl('ShockwaveFlash.ShockwaveFlash.1');
    return pluginFound;
  }

function detectQuickTime () {
	pluginFound = detectPlugin('QuickTime');
  // if not found, try to detect with VisualBasic
  if(!pluginFound && msMadeMeUseVB)
  	pluginFound = detectQuickTimeActiveXControl();
  return pluginFound;
}

function detectReal () {
	pluginFound = detectPlugin('RealPlayer');
  // if not found, try to detect with VisualBasic
  if(!pluginFound && msMadeMeUseVB) {
  	pluginFound = (detectActiveXControl('rmocx.RealPlayer G2 Control') ||
                     detectActiveXControl('RealPlayer.RealPlayer(tm) ActiveX Control (32-bit)') ||
                     detectActiveXControl('RealVideo.RealVideo(tm) ActiveX Control (32-bit)'));
    }
    return pluginFound;
}

function detectWindowsMedia () {
	pluginFound = detectPlugin('Windows Media Player');
  // if not found, try to detect with VisualBasic
  if(!pluginFound && msMadeMeUseVB)
  	pluginFound = detectActiveXControl('MediaPlayer.MediaPlayer.1');
    return pluginFound;
}
