<!DOCTYPE HTML>

<!--
A modified version of the about:plugins page found in Mozilla.  The license of
the original file is below.
-->

<!-- ***** BEGIN LICENSE BLOCK *****
   - Version: MPL 1.1/GPL 2.0/LGPL 2.1
   -
   - The contents of this file are subject to the Mozilla Public License Version
   - 1.1 (the "License"); you may not use this file except in compliance with
   - the License. You may obtain a copy of the License at
   - http://www.mozilla.org/MPL/
   -
   - Software distributed under the License is distributed on an "AS IS" basis,
   - WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
   - for the specific language governing rights and limitations under the
   - License.
   -
   - The Original Code is mozilla.org Code.
   -
   - The Initial Developer of the Original Code is
   - Netscape Communications Corporation.
   - Portions created by the Initial Developer are Copyright (C) 1998
   - the Initial Developer. All Rights Reserved.
   -
   - Contributor(s):
   -   Mark Olson <maolson@earthlink.net>
   -   Alexey Chernyak <alexeyc@bigfoot.com>
   -   Frank Tang <ftang@netscape.com>
   -   Mike Connelly <mozilla@shepherdstown.com>
   -   Robert Kaiser <kairo@kairo.at>
   -
   - Alternatively, the contents of this file may be used under the terms of
   - either the GNU General Public License Version 2 or later (the "GPL"), or
   - the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
   - in which case the provisions of the GPL or the LGPL are applicable instead
   - of those above. If you wish to allow use of your version of this file only
   - under the terms of either the GPL or the LGPL, and not to allow others to
   - use your version of this file under the terms of the MPL, indicate your
   - decision by deleting the provisions above and replace them with the notice
   - and other provisions required by the LGPL or the GPL. If you do not delete
   - the provisions above, a recipient may use your version of this file under
   - the terms of any one of the MPL, the GPL or the LGPL.
   -
   - ***** END LICENSE BLOCK ***** -->

<html id="t">
<head>
<title jscontent="title"></title>
<style>
body {
  background-color: Window;
  color: WindowText;
  font: message-box;
}

div#outside {
 text-align: justify;
 width: 90%;
 margin-left: 5%;
 margin-right: 5%;
}

div#plugs {
  text-align: center;
  font-size: xx-large;
  font-weight: bold;
}

div#noplugs {
  font-size: x-large;
  font-weight: bold;
}

div.plugname {
  margin-top: 2em;
  margin-bottom: 1em;
  font-size: large;
  text-align: left;
  font-weight: bold;
}

dl {
  margin: 0px 0px 3px 0px;
}

table {
  background-color: Window;
  color: WindowText;
  font: message-box;
  text-align: left;
  width: 100%;
  border: 1px solid ThreeDShadow;
  border-spacing: 0px;
}

th {
  text-align: center;
  background-color: Highlight;
  color: HighlightText;
}

th + th,
td + td {
  border-left: 1px dotted ThreeDShadow;
}

td {
  text-align: left;
  border-top: 1px dotted ThreeDShadow;
}

th, td {
  padding: 3px;
}

th.type, th.suff {
  width: 20%;
}

th.desc {
  width: 50%;
}

th.enabled {
  width: 10%;
}
</style>
</head>
<body>
<div id="outside">
<script type="application/x-javascript">

  /* JavaScript to enumerate and display all installed plug-ins

   * First, refresh plugins in case anything has been changed recently in
   * prefs: (The "false" argument tells refresh not to reload or activate
   * any plug-ins that would be active otherwise.  In contrast, one would
   * use "true" in the case of ASD instead of restarting)
   */

  navigator.plugins.refresh(false);

  var numPlugins = navigator.plugins.length;

  if (numPlugins > 0)
    document.writeln('<div id="plugs" jscontent="headingPlugs"><\/div>');
  else
    document.writeln('<div id="noplugs" jscontent="headingNoPlugs"><\/div>');

  for (var i = 0; i < numPlugins; i++)
  {
    var plugin = navigator.plugins[i];

    if (plugin)
    {
      document.write("<div class=\"plugname\">");
      document.write(plugin.name);
      document.writeln("<\/div>");

      document.writeln('<dl><dd><span jscontent="filename"><\/span> ');
      document.write(plugin.filename);
      document.writeln("<\/dd><dd>");
      document.write(plugin.description);
      document.writeln("<\/dd><\/dl>");

      document.writeln('<table class="contenttable">');
      document.writeln("<thead>");
      document.writeln('<tr><th class="type" jscontent="mimetype"><\/th>');
      document.writeln('<th class="desc" jscontent="description"><\/th>');
      document.writeln('<th class="suff" jscontent="suffixes"><\/th>');
      document.writeln('<th class="enabled" jscontent="enabled"><\/th><\/tr>');
      document.writeln("<\/thead>");
      document.writeln("<tbody>");

      var numTypes = plugin.length;
      var mimetype;
      var enabled;
      var enabledPlugin;
      for (var j = 0; j < numTypes; j++)
      {
        mimetype = plugin[j];

        if (mimetype)
        {
          enabled = "enabled_no";
          enabledPlugin = mimetype.enabledPlugin;
          if (enabledPlugin && (enabledPlugin.filename == plugin.filename))
            enabled = "enabled_yes";

          document.writeln("<tr>");
          document.writeln("<td>" + mimetype.type + "<\/td>");
          document.writeln("<td>" + mimetype.description + "<\/td>");
          document.writeln("<td>" + mimetype.suffixes + "<\/td>");
          document.writeln('<td jscontent="' + enabled + '"><\/td>');
          document.writeln("<\/tr>");
        }
      }

      document.write("<\/tbody>");
      document.write("<\/table>");
    }
  }
</script>
</div>
</body>
</html>