function installed()
{
   f = false; 
   for (i = 0; i < navigator.plugins.length; i++)
   {
     pl = navigator.plugins[i];
  for (j = 0; j < pl.length; j++)
  {
      mime = pl[j];
    if (mime.type.indexOf('vrml') != -1 && 
          mime.suffixes.toLowerCase().indexOf('wrl') != -1 &&
          mime.enabledPlugin.name == pl.name &&
          pl.name.toLowerCase().indexOf('cortona') != -1)
       {
     cortonaversion = pl.description.substring(pl.description.indexOf("(") + 1, pl.description.indexOf(")"));
     if (!cortonaversion.length) {
      cortonaversion = "2.2 or lower";
      cortonabuild = 40;
     } else {
      cortonabuild = cortonaversion.substring(cortonaversion.lastIndexOf(" "), cortonaversion.length);
     }
     f = true; break;
    }
  }
  if (f) break; 
 }
 return f;
}
function install_cortona()
{
 if (navigator.javaEnabled())
 {
  trigger = netscape.softupdate.Trigger;
  if (trigger.UpdateEnabled())
  {
   if (navigator.platform == "Win32")
   {
    vi = new netscape.softupdate.VersionInfo(4,2,0,93);
    if (0 <= trigger.CompareVersion("/ParallelGraphics/Cortona/Vrml", vi))
     complete();
    else navigator.on_load_cortvrml = new Function("complete();");
    path = 'http://www.parallelgraphics.com' + '/bin';
    trigger.ConditionalSoftwareUpdate(
     path + '/cortvrml.jar',
     "/ParallelGraphics/Cortona/Vrml",
     vi, trigger.DEFAULT_MODE);
   } else
    alert("This plug-in only runs on Windows NT/95.")
  } else
   alert("Enable SmartUpdate before running this script.");
 } else 
  alert("Enable Java before running this script.");
}
function downloadNow ()
{
 if (navigator.platform=='Win32')
 {
  if (InstallTrigger.UpdateEnabled())
  {
   if (InstallTrigger.CompareVersion('/ParallelGraphics/Cortona/Vrml', 4,2,0,93) < 0)
   {
    InstallTrigger.install(
    {'Cortona VRML Client' : 'http://www.parallelgraphics.com/bin/cortvrml.xpi'}, 
	on_load_cortvrml );
   }
   else
   ;//alert('Cortona has already installed.');
  }
  else
   //alert('Enable Software Installation before running this script.');
   ;
 }
 else
  alert('This plug-in only runs on Windows operating systems.');
}
function on_load_cortvrml(url, status)
{
   var msg;
   switch( status )
   {
   case 0:
      alet('Cortona has been successfully installed.');
      break;
   case 999:
      alert('Please restart the browser to complete Cortona installation.');
      break;
   case -210:
      //msg =  'Cortona installation has been canceled by user.';
      break;
   default:
      msg =  'Cortona installation has failed. Error code: ' + status;
   }
   //alert(msg);
}
