/*
Platform()
 Usage: var pt = new Platform();
plugin()
 Usage: plugin('flash'); plugin('quicktime'); plugin('director'); plugin('realaudio')
*/

function Platform() {

// Defaults
  this.res = "Unknown";
  this.color = "Unknown";
  this.java = "Not Active";
  this.flash = "Not Active";
  this.shockwave = "Not Active";
  this.quicktime = "Not Active";
  this.realplayer = "Not Active";
  this.date = " "
  this.time = " "

 var schermb=screen.width;
 var schermh=screen.height;
 if (schermb != 0) 
    {this.res = schermb + "x" + schermh};

 this.color=screen.colorDepth;

 if (navigator.javaEnabled() == 1)
      {this.java="Active"};

 if ( plugin('flash')) {this.flash="Active"};
 if ( plugin('director')) {this.shockwave="Active"};
 if ( plugin('quicktime')) {this.quicktime="Active"};
 if ( plugin('realaudio')) {this.realplayer="Active"};


 Vandaag = new Date();

 dag = Vandaag.getDate();
 maand = Vandaag.getMonth() + 1;
 jaar = Vandaag.getFullYear();
 this.date= dag + "/" + maand + "/" +jaar;

 uur = Vandaag.getHours();
 minuut = Vandaag.getMinutes();
 seconde = Vandaag.getSeconds();
 this.time = uur + ":" + minuut + ":" + seconde;

}

/*
=====================================================
Plugin Detector()
*/

// this is where we write out the VBScript for MSIE Windows
var WM_startTagFix = '</';
var msie_windows = 0;

if ((navigator.userAgent.indexOf('MSIE') != -1) && (navigator.userAgent.indexOf('Win') != -1) && (navigator.userAgent.indexOf('Opera') == -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 WM_detect_through_vb');
  document.writeln('WM_detect_through_vb = 0');
  document.writeln('If ScriptEngineMajorVersion >= 2 then');
  document.writeln('  WM_detect_through_vb = 1');
  document.writeln('End If');
  document.writeln('Function WM_activeXDetect(activeXname)');
  document.writeln('  on error resume next');
  document.writeln('  If ScriptEngineMajorVersion >= 2 then');
  document.writeln('     WM_activeXDetect = False');
  document.writeln('     WM_activeXDetect = IsObject(CreateObject(activeXname))');
  document.writeln('     If (err) then');
  document.writeln('        WM_activeXDetect = False');
  document.writeln('     End If');
  document.writeln('   Else');
  document.writeln('     WM_activeXDetect = False');
  document.writeln('   End If');
  document.writeln('End Function');
  document.writeln(WM_startTagFix+'script>');
}

function plugindetect(plugindescription, pluginxtension, pluginmime, activeXname){

  var i,plugin_undetectable=0,detected=0, daPlugin=new Object();

  if (msie_windows && WM_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)) {
	      if ((navigator.appName == 'Netscape') && (navigator.appVersion.indexOf('4.0') != -1)) {
		  for(i in navigator.plugins) {
		      if ((navigator.plugins[i].description.indexOf(plugindescription) != -1) || (i.indexOf(plugindescription) != -1)) {
			  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;
		      }
		  }
	      }

      if (navigator.mimeTypes[pluginmime] == null) {
		  detected = 0;
	      }
	  }
	  return detected;
      } else if((msie_windows == 1) && !plugin_undetectable){
	  return WM_activeXDetect(activeXname);
      } else { 		
	  return 0;
      }
  } else {
      return 0;
  }
}


function plugin(whichPlugin) {

    var isItThere = 0;
    if( (whichPlugin == 'flash') || (whichPlugin == 'Flash') ) {
	isItThere = plugindetect('Flash', 'swf', 'application/x-shockwave-flash', 'ShockwaveFlash.ShockwaveFlash');
    } else if( (whichPlugin == 'director') || (whichPlugin == 'Director') ) {
	isItThere = plugindetect('Shockwave', 'dcr', 'application/x-director', 'SWCtl.SWCtl.1');
    } else if( (whichPlugin == 'quicktime') || (whichPlugin == 'Quicktime') || (whichPlugin == 'QuickTime') ) {
	isItThere = plugindetect('QuickTime', 'mov', 'video/quicktime', 'QuickTimeCheckObject.QuickTimeCheck.1');
    } else if( (whichPlugin == 'realaudio') || (whichPlugin == 'Realaudio') || (whichPlugin == 'RealAudio') ) {
	isItThere = (plugindetect('RealPlayer(tm) LiveConnect-Enabled Plug-In', 'rpm', 'audio/x-pn-realaudio-plugin', 'RealPlayer.RealPlayer(tm) ActiveX Control (32-bit)')) || (plugindetect('RealPlayer', 'rpm', 'audio/x-pn-realaudio-plugin', 'RealPlayer.RealPlayer(tm) ActiveX Control (32-bit)')) || (plugindetect('RealPlayer', 'rpm', 'audio/x-pn-realaudio-plugin','rmocx.RealPlayer G2 Control')) || (plugindetect('RealPlayer', 'rpm', 'audio/x-pn-realaudio-plugin','RealPlayer.RealPlayer(tm) ActiveX Control (32-bit)')) || (plugindetect('RealPlayer', 'rpm', 'audio/x-pn-realaudio-plugin','RealVideo.RealVideo(tm) ActiveX Control (32-bit)'))
   } else {
	alert('You need to tell me which plug-in to look for, like so:\n\n' + '          plugin(\'flash\')\n\n' + '          plugin(\'director\')\n\n' + '          plugin(\'quicktime\')\n\n' + '          plugin(\'realaudio\')');
    }
    return isItThere;
}

