Re-sync Oxygen and Mint and Oxygen simple with Oxygen main; a couple improvements to the redirect-on-no-config code
authorDan
Wed, 21 Nov 2007 20:14:14 -0500
changeset 222 acfdccf7a2bf
parent 221 956263992d48
child 223 ebcc138fe4e6
Re-sync Oxygen and Mint and Oxygen simple with Oxygen main; a couple improvements to the redirect-on-no-config code
includes/dbal.php
includes/functions.php
includes/template.php
install.php
themes/oxygen/css-simple/bleu.css
themes/oxygen/css/bleu.css
themes/oxygen/css/mint.css
themes/oxygen/simple-footer.tpl
themes/oxygen/simple-header.tpl
--- a/includes/dbal.php	Wed Nov 21 15:18:15 2007 -0500
+++ b/includes/dbal.php	Wed Nov 21 20:14:14 2007 -0500
@@ -145,7 +145,7 @@
       // scriptPath isn't set yet - we need to autodetect it to avoid infinite redirects
       if ( !defined('scriptPath') )
       {
-        if ( isset($_SERVER['PATH_INFO']) )
+        if ( isset($_SERVER['PATH_INFO']) && !preg_match('/index\.php$/', $_SERVER['PATH_INFO']) )
         {
           $_SERVER['REQUEST_URI'] = preg_replace(';' . preg_quote($_SERVER['PATH_INFO']) . '$;', '', $_SERVER['REQUEST_URI']);
         }
--- a/includes/functions.php	Wed Nov 21 15:18:15 2007 -0500
+++ b/includes/functions.php	Wed Nov 21 20:14:14 2007 -0500
@@ -289,7 +289,7 @@
     $template->load_theme('oxygen', 'bleu', false);
     $template->tpl_strings['SITE_NAME'] = 'Enano';
     $template->tpl_strings['SITE_DESC'] = 'This site is experiencing a critical error and cannot load.';
-    $template->tpl_strings['COPYRIGHT'] = '© ' . date('Y');
+    $template->tpl_strings['COPYRIGHT'] = 'Powered by Enano CMS - &copy; 2007 Dan Fuhry. This program is Free Software; see the <a href="' . scriptPath . '/install.php?mode=license">GPL file</a> included with this package for details.';
     $template->tpl_strings['PAGE_NAME'] = htmlspecialchars($title);
   }
 
--- a/includes/template.php	Wed Nov 21 15:18:15 2007 -0500
+++ b/includes/template.php	Wed Nov 21 20:14:14 2007 -0500
@@ -1795,7 +1795,7 @@
  */
 
 class template_nodb {
-  var $tpl_strings, $tpl_bool, $theme, $style, $no_headers, $additional_headers, $sidebar_extra, $sidebar_widgets, $toolbar_menu, $theme_list;
+  var $fading_button, $tpl_strings, $tpl_bool, $theme, $style, $no_headers, $additional_headers, $sidebar_extra, $sidebar_widgets, $toolbar_menu, $theme_list;
   function __construct() {
     
     $this->tpl_bool    = Array();
@@ -1805,6 +1805,10 @@
     $this->toolbar_menu = '';
     $this->additional_headers = '<style type="text/css">div.pagenav { border-top: 1px solid #CCC; padding-top: 7px; margin-top: 10px; }</style>';
     
+    $this->fading_button = '<div style="background-image: url('.scriptPath.'/images/about-powered-enano-hover.png); background-repeat: no-repeat; width: 88px; height: 31px; margin: 0 auto 5px auto;">
+                              <a href="http://enanocms.org/" onclick="window.open(this.href); return false;"><img style="border-width: 0;" alt=" " src="'.scriptPath.'/images/about-powered-enano.png" onmouseover="domOpacity(this, 100, 0, 500);" onmouseout="domOpacity(this, 0, 100, 500);" /></a>
+                            </div>';
+    
     $this->theme_list = Array(Array(
       'theme_id'=>'oxygen',
       'theme_name'=>'Oxygen',
--- a/install.php	Wed Nov 21 15:18:15 2007 -0500
+++ b/install.php	Wed Nov 21 20:14:14 2007 -0500
@@ -14,7 +14,7 @@
  */
  
 @include('config.php');
-if( ( defined('ENANO_INSTALLED') || defined('MIDGET_INSTALLED') ) && ((isset($_GET['mode']) && ($_GET['mode']!='finish' && $_GET['mode']!='css')) || !isset($_GET['mode'])))
+if( ( defined('ENANO_INSTALLED') || defined('MIDGET_INSTALLED') ) && ((isset($_GET['mode']) && ($_GET['mode']!='finish' && $_GET['mode']!='css') && $_GET['mode']!='showlicense') || !isset($_GET['mode'])))
 {
   $_GET['title'] = 'Enano:Installation_locked';
   require('includes/common.php');
@@ -683,6 +683,60 @@
 }
 function is_apache() { $r = strstr($_SERVER['SERVER_SOFTWARE'], 'Apache') ? true : false; return $r; }
 
+function show_license($fb = false)
+{
+  ?>
+  <div style="height: 500px; clip: rect(0px,auto,500px,auto); overflow: auto; padding: 10px; border: 1px dashed #456798; margin: 1em;">
+   <h2>GNU General Public License</h2>
+   
+   <h3>Declaration of license usage</h3>
+   <p>Enano is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.</p>
+   <p>This program is distributed in the hope that it will be useful, but <u>without any warranty</u>; without even the implied warranty of <u>merchantability</u> or <u>fitness for a particular purpose</u>. See the GNU General Public License (below) for more details.</p>
+   <p><b>By clicking the button below or otherwise continuing the installation, you indicate your acceptance of this license agreement.</b></p>
+   
+   <h3>Human-readable version</h3>
+   <p>Enano is distributed under certain licensing terms that we believe make it of the greatest possible use to the public. The license we distribute it under, the GNU General Public License, provides certain terms and conditions that, rather than limit your use of Enano, allow you to get the most out of it. If you would like to read the full text, it can be found below. Here is a human-readable version that we think is a little easier to understand.</p>
+   
+   <ul>
+     <li>You may to run Enano for any purpose.</li>
+     <li>You may study how Enano works and adapt it to your needs.</li>
+     <li>You may redistribute copies so you can help your neighbor.</li>
+     <li>You may improve Enano and release your improvements to the public, so that the whole community benefits.</li>
+   </ul>
+   
+   <p>You may exercise the freedoms specified here provided that you comply with the express conditions of this license. The principal conditions are:</p>
+   
+   <ul>
+     <li>You must conspicuously and appropriately publish on each copy distributed an appropriate copyright notice and disclaimer of warranty and keep intact all the notices that refer to this License and to the absence of any warranty; and give any other recipients of Enano a copy of the GNU General Public License along with Enano. Any translation of the GNU General Public License must be accompanied by the GNU General Public License.</li>
+     <li>If you modify your copy or copies of Enano or any portion of it, or develop a program based upon it, you may distribute the resulting work provided you do so under the GNU General Public License. Any translation of the GNU General Public License must be accompanied by the GNU General Public License.</li>
+     <li>If you copy or distribute Enano, you must accompany it with the complete corresponding machine-readable source code or with a written offer, valid for at least three years, to furnish the complete corresponding machine-readable source code.</li>
+   </ul>
+   
+   <p><b>Disclaimer</b>: The above text is not a license. It is simply a handy reference for understanding the Legal Code (the full license) &ndash; it is a human-readable expression of some of its key terms. Think of it as the user-friendly interface to the Legal Code beneath. The above text itself has no legal value, and its contents do not appear in the actual license.<br /><span style="color: #CCC">Text copied from the <a href="http://creativecommons.org/licenses/GPL/2.0/">Creative Commons GPL Deed page</a></span></p>
+   <?php
+   if ( defined('ENANO_BETA_VERSION') )
+   {
+     ?>
+     <h3>Notice for prerelease versions</h3>
+     <p>This version of Enano is designed only for testing and evaluation purposes. <b>It is not yet completely stable, and should not be used on production websites.</b> As with any Enano version, Dan Fuhry and the Enano team cannot be responsible for any damage, physical or otherwise, to any property as a result of the use of Enano. While security is a number one priority, sometimes things slip through.</p>
+     <?php
+   }
+   ?>
+   <h3>Lawyer-readable version</h3>
+   <?php echo wikiFormat(file_get_contents(ENANO_ROOT . '/GPL')); ?>
+   <?php
+   global $template;
+   if ( $fb )
+   {
+     echo '<p style="text-align: center;">Because I could never find the Create a Page button in PHP-Nuke.</p>';
+     echo '<p>' . str_replace('http://enanocms.org/', 'http://www.2robots.com/2003/10/15/web-portals-suck/', $template->fading_button) . '</p>';
+     echo '<p style="text-align: center;">It\'s not a portal, my friends.</p>';
+   }
+   ?>
+ </div>
+ <?php
+}
+
 require_once('includes/template.php');
 
 if(!isset($_GET['mode'])) $_GET['mode'] = 'welcome';
@@ -831,12 +885,15 @@
               'login'   => 'Administration login',
               'confirm' => 'Confirm installation',
               'install' => 'Database installation',
-              'finish'  => 'Installation complete'
+              'finish'  => 'Installation complete',
+              '_hiddenstages' => '...', // all stages below this line are hidden
+              'showlicense' => 'License Agreement'
             );
 
 $sideinfo = '';
 $vars = $template->extract_vars('elements.tpl');
 $p = $template->makeParserText($vars['sidebar_button']);
+$hidden = false;
 foreach ( $modestrings as $id => $str )
 {
   if ( $_GET['mode'] == $id )
@@ -848,12 +905,17 @@
   {
     $flags = '';
   }
-  $p->assign_vars(Array(
-      'HREF' => '#',
-      'FLAGS' => $flags . ' onclick="return false;"',
-      'TEXT' => $str
-    ));
-  $sideinfo .= $p->run();
+  if ( $id == '_hiddenstages' )
+    $hidden = true;
+  if ( !$hidden )
+  {
+    $p->assign_vars(Array(
+        'HREF' => '#',
+        'FLAGS' => $flags . ' onclick="return false;"',
+        'TEXT' => $str
+      ));
+    $sideinfo .= $p->run();
+  }
 }
 
 $template->init_vars();
@@ -866,7 +928,10 @@
 }
 
 $template->header();
-if(!isset($_GET['mode'])) $_GET['mode'] = 'license';
+if ( !isset($_GET['mode']) )
+{
+  $_GET['mode'] = 'welcome';
+}
 switch($_GET['mode'])
 { 
   default:
@@ -894,39 +959,7 @@
     <h3>Welcome to the Enano installer.</h3>
      <p>Thank you for choosing Enano as your CMS. You've selected the finest in design, the strongest in security, and the latest in Web 2.0 toys. Trust us, you'll like it.</p>
      <p>To get started, please read and accept the following license agreement. You've probably seen it before.</p>
-     <div style="height: 500px; clip: rect(0px,auto,500px,auto); overflow: auto; padding: 10px; border: 1px dashed #456798; margin: 1em;">
-       <h2>GNU General Public License</h2>
-       <h3>Declaration of license usage</h3>
-       <p>Enano is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.</p>
-       <p>This program is distributed in the hope that it will be useful, but <u>without any warranty</u>; without even the implied warranty of <u>merchantability</u> or <u>fitness for a particular purpose</u>. See the GNU General Public License (below) for more details.</p>
-       <p><b>By clicking the button below or otherwise continuing the installation, you indicate your acceptance of this license agreement.</b></p>
-       <h3>Human-readable version</h3>
-       <p>Enano is distributed under certain licensing terms that we believe make it of the greatest possible use to the public. The license we distribute it under, the GNU General Public License, provides certain terms and conditions that, rather than limit your use of Enano, allow you to get the most out of it. If you would like to read the full text, it can be found below. Here is a human-readable version that we think is a little easier to understand.</p>
-       <ul>
-       <li>You may to run Enano for any purpose.</li>
-       <li>You may study how Enano works and adapt it to your needs.</li>
-       <li>You may redistribute copies so you can help your neighbor.</li>
-       <li>You may improve Enano and release your improvements to the public, so that the whole community benefits.</li>
-       </ul>
-       <p>You may exercise the freedoms specified here provided that you comply with the express conditions of this license. The principal conditions are:</p>
-       <ul>
-       <li>You must conspicuously and appropriately publish on each copy distributed an appropriate copyright notice and disclaimer of warranty and keep intact all the notices that refer to this License and to the absence of any warranty; and give any other recipients of Enano a copy of the GNU General Public License along with Enano. Any translation of the GNU General Public License must be accompanied by the GNU General Public License.</li>
-       <li>If you modify your copy or copies of Enano or any portion of it, or develop a program based upon it, you may distribute the resulting work provided you do so under the GNU General Public License. Any translation of the GNU General Public License must be accompanied by the GNU General Public License.</li>
-       <li>If you copy or distribute Enano, you must accompany it with the complete corresponding machine-readable source code or with a written offer, valid for at least three years, to furnish the complete corresponding machine-readable source code.</li>
-       </ul>
-       <p><b>Disclaimer</b>: The above text is not a license. It is simply a handy reference for understanding the Legal Code (the full license) &ndash; it is a human-readable expression of some of its key terms. Think of it as the user-friendly interface to the Legal Code beneath. The above text itself has no legal value, and its contents do not appear in the actual license.<br /><span style="color: #CCC">Text copied from the <a href="http://creativecommons.org/licenses/GPL/2.0/">Creative Commons GPL Deed page</a></span></p>
-       <?php
-       if ( defined('ENANO_BETA_VERSION') )
-       {
-         ?>
-         <h3>Notice for prerelease versions</h3>
-         <p>This version of Enano is designed only for testing and evaluation purposes. <b>It is not yet completely stable, and should not be used on production websites.</b> As with any Enano version, Dan Fuhry and the Enano team cannot be responsible for any damage, physical or otherwise, to any property as a result of the use of Enano. While security is a number one priority, sometimes things slip through.</p>
-         <?php
-       }
-       ?>
-       <h3>Lawyer-readable version</h3>
-       <?php echo wikiFormat(file_get_contents(ENANO_ROOT . '/GPL')); ?>
-     </div>
+     <?php show_license(); ?>
      <div class="pagenav">
        <form action="install.php?mode=sysreqs" method="post">
          <table border="0">
@@ -1659,6 +1692,10 @@
            </ul>
            <p><a href="index.php">Go to your website...</a></p>';
     break;
+  // this stage is never shown during the installation, but is provided for legal purposes
+  case "showlicense":
+    show_license(true);
+    break;
 }
 $template->footer();
  
--- a/themes/oxygen/css-simple/bleu.css	Wed Nov 21 15:18:15 2007 -0500
+++ b/themes/oxygen/css-simple/bleu.css	Wed Nov 21 20:14:14 2007 -0500
@@ -1,76 +1,95 @@
-/*
- * Oxygen, but slightly more lightweight - used on minimalist pages
+/**
+ * The original Oxygen theme for Enano
+ * Designed by Dan Fuhry, (C) 2006
+ * This theme is Free Software; see the file "GPL" included with this package for details.
  */
  
-/* Basic definitions */
- 
-html, body {
-  height: 100%;
-  margin: 0;
-  padding: 0;
-}
-
-body {
-  background-image: url(../images/bleu/bg.png);
-  font-family: trebuchet ms, verdana, arial, helvetica, sans-serif;
-  font-size: 9pt;
-}
-
-/* Dummy cells and backgrounds */
-
-/* table#enano-main td                { margin: 0; padding: 0; } */
-table#enano-main td#head-up-left   { width: 12px; height: 12px; background-image: url(../images/bleu/border-tl.gif);                          }
-table#enano-main td#head-up        {              height: 12px; background-image: url(../images/bleu/border-top.gif);                         }
-table#enano-main td#head-up-right  { width: 12px; height: 12px; background-image: url(../images/bleu/border-tr.gif);                          }
-table#enano-main td#head-left      { width: 12px;               background-image: url(../images/bleu/border-l.gif);     padding-bottom: 12px; }
-table#enano-main td#head-main      {                            background-color: #90B0D0;                                                    }
-table#enano-main td#head-right     { width: 12px;               background-image: url(../images/bleu/border-r.gif);                           }
-table#enano-main td#toolbar-left   { width: 12px;               background-image: url(../images/bleu/border-tb-l.gif);                        }
-table#enano-main td#toolbar-right  { width: 12px;               background-image: url(../images/bleu/border-tb-r.gif);                        }
-table#enano-main td#main-left      { width: 12px;               background-image: url(../images/bleu/border-m-l.gif);                         }
-table#enano-main td#main-main      {                            background-color: #FFFFFF;                                                    }
-table#enano-main td#main-right     { width: 12px;               background-image: url(../images/bleu/border-m-r.gif);                         }
-table#enano-main td#foot-left      { width: 12px;               background-image: url(../images/bleu/border-btm-l.gif);                       }
-table#enano-main td#foot-main      {                            background-color: #E8E8E8;                              padding-top: 12px;    }
-table#enano-main td#foot-right     { width: 12px;               background-image: url(../images/bleu/border-btm-r.gif);                       }
-table#enano-main td#foot-btm-left  { width: 12px; height: 12px; background-image: url(../images/bleu/border-bl.gif);                          }
-table#enano-main td#foot-btm       {              height: 12px; background-image: url(../images/bleu/border-btm.gif);                         }
-table#enano-main td#foot-btm-right { width: 12px; height: 12px; background-image: url(../images/bleu/border-br.gif);                          }
+/* The basics */
+html,body                          { height: 100%; }
+body                               { /* color added in 1.0.2 to fix light text in dark desktop themes */ color: #202020; margin: 0; padding: 0; background: url(../images/bleu/bg.png); font-family: trebuchet ms, verdana, arial, helvetica, sans-serif; font-size: 9pt; }
+.holder                            { border: 1px solid #CCCCCC; padding: 1px; background-color: #FFFFFF; color: #444444 }
+div.pad                            { padding: 10px; }                         
+table#title                        { margin: 0; padding: 0; height: 100px; background-color: #90B0D0; text-align: center; }
 
 /* Sidebar */
-
-td.mdgSidebarHolder                { width: 156px; }
-div.sidebar, .dbx-group            { width: 154px; background-color: #F8F8F8; border-left: 1px solid #CCC; border-right: 1px solid #CCC; padding: 1px 0px 0px 0px; }
-div.sidebar .head, .dbx-handle     { background-color: #F0F0F0;  display: block; margin: 0px 1px 1px 1px; font-family: Trebuchet MS, Arial, helvetica, sans-serif; font-size: 7pt; cursor: pointer; text-decoration: none; color: #111; padding: 5px; font-weight: bold; }
-div.sidebar .head:hover, .dbx-handle:hover    { background-color: #F4F4F4;  display: block; margin: 0px 1px 1px 1px; font-family: Trebuchet MS, Arial, helvetica, sans-serif; font-size: 7pt; cursor: pointer; text-decoration: none; color: #111; padding: 5px; font-weight: bold; }
-div.sidebar div.slideblock a, .dbx-content li { background-color: #DDD;     display: block; margin: 0px 1px 1px 1px; font-family: Trebuchet MS, Arial, helvetica, sans-serif; font-size: 7pt; cursor: pointer; text-decoration: none; color: #666; padding: 5px 5px 5px 9px; list-style-type: none; }
-div.sidebar div.slideblock a:hover, .dbx-content li:hover { background-color: #EEE;     display: block; margin: 0px 1px 1px 1px; font-family: Trebuchet MS, Arial, helvetica, sans-serif; font-size: 7pt; cursor: pointer; text-decoration: none; color: #666; padding: 5px 5px 5px 9px; }
-div.recttop                        { width: 156px; height: 12px; margin: 0; padding: 0; }
+td.mdgSidebarHolder                { width: 140px; }
+div.sidebar, .dbx-group            { width: 138px; background-color: #F8F8F8; border-left: 1px solid #CCC; border-right: 1px solid #CCC; padding: 1px 0px 0px 0px; }
+div.sidebar .head, .dbx-handle             { background-color: #F0F0F0;  display: block; margin: 0px 1px 1px 1px; font-family: Trebuchet MS, Arial, helvetica, sans-serif; font-size: 7pt; cursor: pointer; text-decoration: none; color: #111; padding: 5px; font-weight: bold; }
+div.sidebar .head:hover, .dbx-handle:hover { background-color: #F4F4F4;  display: block; margin: 0px 1px 1px 1px; font-family: Trebuchet MS, Arial, helvetica, sans-serif; font-size: 7pt; cursor: pointer; text-decoration: none; color: #111; padding: 5px; font-weight: bold; }
+div.sidebar div.slideblock a, .dbx-content li             { background-color: #DDD;     display: block; margin: 0px 1px; border-bottom: 1px solid #FFF; font-family: Trebuchet MS, Arial, helvetica, sans-serif; font-size: 7pt; cursor: pointer; text-decoration: none; color: #666; padding: 5px 5px 5px 9px; list-style-type: none; }
+div.sidebar div.slideblock a:hover, .dbx-content li:hover { background-color: #EEE;     display: block; margin: 0px 1px; border-bottom: 1px solid #FFF; font-family: Trebuchet MS, Arial, helvetica, sans-serif; font-size: 7pt; cursor: pointer; text-decoration: none; color: #666; padding: 5px 5px 5px 9px; }
+div.recttop                        { width: 140px; height: 12px; margin: 0; padding: 0; }
 td.recttoptop                      { width: 100%;  height: 12px; background-image: url(../images/bleu/border-menu-t.gif);   background-repeat: repeat-x;  margin: 0; padding: 0; }
 td.recttoptop:hover                { width: 100%;  height: 12px; background-image: url(../images/bleu/border-menu-t-h.gif); background-repeat: repeat-x;  margin: 0; padding: 0; cursor: pointer; }
-div.rectbot                        { width: 156px; height: 12px; margin: 0; padding: 0; }  
+div.rectbot                        { width: 140px; height: 12px; margin: 0; padding: 0; }  
 td.rectbottop                      { width: 100%;  height: 12px; background-image: url(../images/bleu/border-btm.gif); background-repeat: repeat-x;  margin: 0; padding: 0; }
-div.slideblock, .dbx-content       { overflow: hidden; background-color: #FFF; }
+div.slideblock, .dbx-content       { overflow: hidden; background-color: #DDD; }
 div.slideblock2                    { overflow: hidden; background-color: #DDD; margin: 0px 1px 0px 1px; }
 .dbx-handle                        { cursor: move !important; }
 
-/*
- * Docking Boxes code (for the sidebar editor)
- */
- 
-/* group container(s) */#sbedit {margin: 0;padding: 0;/* position:relative; /* additional outer containers must also have position:relative */}/* keyboard navigation tooltip */.dbx-tooltip {display:block;position:absolute;margin:36px 0 0 125px;width:185px;border:1px solid #000;background:#ffd;color:#000;font:normal normal normal 0.85em tahoma, arial, sans-serif;padding:2px 4px 3px 5px;text-align:left;}* html .dbx-tooltip { width:195px; }/* use CSS2 system colors in CSS2 browsersbut not safari, which doesn't support them */*[class="dbx-tooltip"]:lang(en) {border-color:InfoText;background:InfoBackground;color:InfoText;font:small-caption;font-weight:normal;}/* additional clone styles */.dbx-clone {opacity: 0.8;}.dbx-content ul {margin: 0; padding: 0;}.dbx-content li a, .dbx-content li a:hover {text-decoration: none; color: #666;}.dbx-content2 {background-color: #DDD; margin: 0px 1px 0px 1px;}/* toolbar */div.toolbar {border-bottom: 1px solid #909090;background-color: #D0D0D0;padding: 2px 0;height: 22px;font-family: arial, sans-serif;font-size: 8pt;}div.toolbar ul {margin: 0;padding: 0;}div.toolbar ul li {list-style: none;margin: 0;float: left;}div.toolbar a img {opacity: 0.6;/*filter: alpha(opacity=60);*/}div.toolbar a:hover img {opacity: 1;/*filter: alpha(opacity=100);*/}div.toolbar a {display: block;padding: 2px;border: 1px solid transparent;cursor: default;width: auto;color: #000000;margin: 0 2px;max-height: 16px;text-decoration: none;}div.toolbar a:hover {border: 1px solid #202090;background-color: #ceceed;color: #000000;text-decoration: none;}div.toolbar a:active {border: 1px solid #A0A0A0;background-color: #E0E0E0;}div.toolbar img {margin: 0;padding: 0;display: inline;border-width: 0px;}div.toolbar a span {position: relative;top: -4px;}div.toolbar li span {padding-left: 2px;padding-right: 5px;}/* vertical toolbar */div.toolbar_vert {border: 1px solid #909090;background-color: #D0D0D0;padding: 2px 0;}div.toolbar_vert ul {margin: 0;padding: 0;}div.toolbar_vert ul li {list-style: none;margin: 0;}div.toolbar_vert a img {opacity: 0.6;/*filter: alpha(opacity=60);*/}div.toolbar_vert a:hover img {opacity: 1;/*filter: alpha(opacity=100);*/}div.toolbar_vert a {display: block;padding: 2px;border: 1px solid transparent;cursor: default;width: auto;color: #000000;margin: 0 2px;max-height: 16px;text-decoration: none;}div.toolbar_vert a:hover {border: 1px solid #202090;background-color: #ceceed;color: #000000;text-decoration: none;}div.toolbar_vert a:active {border: 1px solid #A0A0A0;background-color: #E0E0E0;}div.toolbar_vert img {margin: 0;padding: 0;display: inline;border-width: 0px;}div.toolbar_vert a span {position: relative;top: -4px;}div.toolbar_vert li span {padding-left: 2px;padding-right: 5px;}
+/* The credits thingy at the bottom */
+div#credits                        { margin: 0; padding: 10px; padding-bottom: 0px; padding-top: 12px; background-color: #E8E8E8; color: #AAA; font-size: 7pt; font-family: lucida grande, verdana, arial, sans-serif; }
+div#credits a                      { color: #90B0D0; text-decoration: none; }
+div#credits a:hover                { color: #80A0C0; text-decoration: underline; }
+
+/* The link hidden in plain "site" at the top of the page */
+td#mainhead a                      { text-decoration: none; color: #000000; }
+td#mainhead a:hover                { text-decoration: none; color: #000000; border-bottom: 1px dotted #406080; }
+
+/* Text, headings, and links inside the main div (usually #ajaxEditContainer but used some other places as well) */
+div.contentDiv h2                                                                    { border-bottom: 1px solid #90B0D0; margin-bottom: 0; }
+div.contentDiv h3                                                                    { font-size: 11pt; font-weight: bold; }
+div.contentDiv ul li                     , div#messageBox ul li                      { list-style: url(../images/bleu/bullet.gif); }
+div.contentDiv p                         , div#messageBox p                          { margin-left: 1.0em; }
+div.contentDiv blockquote                , div#messageBox blockquote                 { background-color: #F4F4F4; border: 1px dotted #406080; margin: 1em; padding: 10px; max-height: 250px; overflow: auto; }
+div.contentDiv                           , div#messageBox                            { font-size: 9pt; }
+div.contentDiv a                         , div#messageBox a                          { color: #7090B0; }
+div.contentDiv a:hover                   , div#messageBox a:hover                    { color: #90B0D0; }
+div.contentDiv a[href ^="http://"]       , div#messageBox a[href ^="http://"]        { color: #80A0C0; background: url(../images/bleu/external.gif) center right no-repeat; padding-right: 16px; }
+div.contentDiv a[href ^="https://"]      , div#messageBox a[href ^="https://"]       { color: #80A0C0; background: url(../images/bleu/https.gif)    center right no-repeat; padding-right: 16px; }
+div.contentDiv a[href ^="mailto:"]       , div#messageBox a[href ^="mailto:"]        { color: #80A0C0; background: url(../images/bleu/email.gif)    center right no-repeat; padding-right: 16px; }
+div.contentDiv a[href ^="irc://"]        , div#messageBox a[href ^="irc://"]         { color: #80A0C0; background: url(../images/bleu/irc.gif)      center right no-repeat; padding-right: 16px; }
+div.contentDiv a[href ^="http://"]:hover , div#messageBox a[href ^="http://"]:hover  { color: #A0C0E0; background: url(../images/bleu/external.gif) center right no-repeat; padding-right: 16px; }
+div.contentDiv a[href ^="https://"]:hover, div#messageBox a[href ^="https://"]:hover { color: #A0C0E0; background: url(../images/bleu/https.gif)    center right no-repeat; padding-right: 16px; }
+div.contentDiv a[href ^="mailto:"]:hover , div#messageBox a[href ^="mailto:"]:hover  { color: #A0C0E0; background: url(../images/bleu/email.gif)    center right no-repeat; padding-right: 16px; }
+div.contentDiv a[href ^="irc://"]:hover  , div#messageBox a[href ^="irc://"]:hover   { color: #A0C0E0; background: url(../images/bleu/irc.gif)      center right no-repeat; padding-right: 16px; }
 
-/* Header */
+/* Wikilinks to pages that don't exist */
+div.contentDiv a.wikilink-nonexistent       { color: #B05020; }
+div.contentDiv a.wikilink-nonexistent:hover { color: #D06030; }
+
+/* Well, not Midget and not comments (usually), but that's what the class is called ;-). Basically an informational window or used as a wrapper for tables. */
+.mdg-comment, .mdg-infobox        { margin-left: 1em; padding: 7px; border: 1px solid #AAAAAA; background-color: #E8E8E8; }
+
+.tblholder                        { margin: 10px 0 0 0; padding: 0; border: 1px solid #AAAAAA; background-color: #E8E8E8; }
 
-table#enano-main td#head-main {
-  text-align: center;
+/* The beautiful tables inside what may not obviously be mdg-comment divs */
+div.tblholder td.row1             { padding: 4px; background-color: #E0E0E0; }
+div.tblholder td.row2             { padding: 4px; background-color: #F0F0F0; }
+div.tblholder td.row3             { padding: 4px; background-color: #E8E8E8; }
+div.tblholder th                  { padding: 4px; background-color: #7080A0; font-weight: bold; text-align: center; color: #FFFFFF; }
+div.tblholder th.subhead          { padding: 4px; background-color: #90A0B0; font-weight: bold; text-align: center; color: #FFFFFF; }
+div.tblholder table               { background-color: #FFFFFF; width: 100%; }
+
+/* Colored table cells */
+div.tblholder td.row1_red         { padding: 4px; background-color: #F8E0E0; }
+div.tblholder td.row2_red         { padding: 4px; background-color: #FFF0F0; }
+div.tblholder td.row3_red         { padding: 4px; background-color: #FFE8E8; }
+div.tblholder td.row1_green       { padding: 4px; background-color: #E0F8E0; }
+div.tblholder td.row2_green       { padding: 4px; background-color: #F0FFF0; }
+div.tblholder td.row3_green       { padding: 4px; background-color: #E8FFE8; }
+
+div.tblholder th a {
+  color: #FFFFFF !important;
+  text-decoration: underline !important;
 }
 
-table#enano-main td#head-main h1 {
-  font-size: 14pt;
+div.tblholder th a:hover {
+  color: #FFFF00 !important;
+  text-decoration: underline !important;
 }
 
-/* The "page tools" bar below the site logo but above the page content */
+/* The "page tools" bar below the site logo but above the page content 
 div.pagebar                       { background-color: #B0D0F0; margin-top: 0px; padding: 3px; font-size: 7pt; }
 div.pagebar a                     { cursor: pointer; padding: 3px; margin-left: 3px; margin-right: 3px; text-decoration: none; color: #406080; }
 div.pagebar a.selected            { background-color: #FFFFFF; color: #000040; font-weight: bold; }
@@ -78,59 +97,294 @@
 div.pagebar input                 { font-family: Bon Apetit, sans-serif; font-size: 7pt; border: 0; margin: 0px 0px 0px 0px; text-decoration: none; color: #406080; background-color: #E0F0FF; } 
 div.pagebar input:hover           { font-family: Bon Apetit, sans-serif; font-size: 7pt; border: 0; margin: 0px 0px 0px 0px; text-decoration: none; color: #406080; background-color: #D0F0FF; }
 div.pagebar input:focus           { font-family: Bon Apetit, sans-serif; font-size: 7pt; border: 0; margin: 0px 0px 0px 0px; text-decoration: none; color: #406080; background-color: #F0F0FF; }
+*/
 
-/* Tweaks for the popup menu version of the same thing */
-div.pagebar#pagebarpopup                             { display: none; position: absolute; width: 150px; padding: 0; overflow: hidden; }
-div.pagebar#pagebarpopup a, div#pagebarpopup2 a      { display: block; margin: 0; }
+/*
+ * jBox menu system
+ */
 
-/* Content area */
-table#enano-main td#main-main {
-  padding: 10px 0;
+div.menu, div.menu_nojs {
+  background-color: #B0D0F0;
+  font-size: 7pt;
+  border-width: 0;
+}
+.menu_bg {
+  background-color: #B0D0F0;
+}
+div.menu a, div.menu div.label {
+  padding: 2.5pt 5px;
+  margin-right: 3px;
+  text-decoration: none;
+  display: block;
+  float: left;
+  color: #406080;
+}
+div.menu_nojs a, div.menu_nojs div.label {
+  padding: 2.5pt 5px;
+  margin-right: 3px;
+  text-decoration: none;
+  display: block;
+  float: left;
+  color: #406080;
+}
+div.menu div.label, div.menu_nojs div.label {
+  color: #001020;
+  cursor: default;
+}
+div.menu span.sep, div.menu_nojs span.sep {
+  display: block;
+  float: left;
+  width: 5px;
+}
+div.menu div.multopts, div.menu_nojs div.multopts {
+  line-height: 17pt;
+}
+div.menu div.multopts a, div.menu div.multopts div.label, div.menu_nojs div.multopts a, div.menu_nojs div.multopts div.label {
+  float: none;
+  display: inline;
+}
+div.menu a.liteselected, div.menu a.liteselected:hover, div.menu a:hover, div.menu_nojs a.liteselected, div.menu_nojs a.liteselected:hover, div.menu_nojs a:hover {
+  color: #406080;
+  background-color: #D0F0FF;
+}
+div.menu input[type ^="text"], div.menu input[type ^="password"], div.menu_nojs input[type ^="text"], div.menu_nojs input[type ^="password"] {
+  border-width: 0;
+  font-size: 9pt;
+  padding: 2px 5px 3px 5px;
+  max-width: 70px;
+  background-color: #D0F0FF;
+}
+div.menu input[type ^="text"]:hover, div.menu input[type ^="password"]:hover, div.menu_nojs input[type ^="text"]:hover, div.menu_nojs input[type ^="password"]:hover {
+  background-color: #E0F0FF;
+}
+div.menu input[type ^="text"]:focus, div.menu input[type ^="password"]:focus, div.menu_nojs input[type ^="text"]:focus, div.menu_nojs input[type ^="password"]:focus {
+  background-color: #F0F0FF;
+}
+div.menu input[type ^="button"], div.menu input[type ^="submit"], div.menu_nojs input[type ^="button"], div.menu_nojs input[type ^="submit"] {
+  border-width: 0;
+  font-size: 9pt;
+  padding: 3px 5px;
+  max-width: 70px;
+}
+div.menu a.current, div.menu a.current:hover, div.menu a.selected, div.menu a.selected:hover, div.menu_nojs a.current, div.menu_nojs a.current:hover, div.menu_nojs a.selected, div.menu_nojs a.selected:hover {
+  color: #000040;
+  background-color: #FFFFFF;
+}
+div.menu ul, div.menu_nojs ul {
+  display: none;
+  position: absolute;
+  padding: 0;
+  margin: 0 !important;
+  background-color: #B0D0F0;
+  border-width: 0;
+  min-width: 120px;
+}
+/*
+div.menu_nojs ul {
+  display: block;
+  padding: 0;
+  margin: 0 0 0 1em;
+  background-color: #B0D0F0;
+  border-width: 0;
+  min-width: 120px;
+}
+*/
+div.menu ul li, div.menu_nojs ul li {
+  list-style: none;
+}
+div.menu ul a, div.menu_nojs ul a {
+  float: none;
+  margin: 0;
+}
+span.menuclear {
+  font-size: 1px;
+  height: 0px;
+  width: 0px;
+  clear: left;
+  line-height: 0px;
+  display: block;
 }
 
-/* Text, headings, and links inside the main div (usually #ajaxEditContainer but used some other places as well) * /
-table#enano-main td#main-main h2                  { border-bottom: 1px solid #90B0D0; margin-bottom: 0; }
-table#enano-main td#main-main h3                  { font-size: 11pt; font-weight: bold; }
-table#enano-main td#main-main li                  { list-style: url(../images/bullet.gif); }
-table#enano-main td#main-main blockquote          { background-color: #F4F4F4; border: 1px dotted #406080; margin: 1em; padding: 10px; max-height: 250px; overflow: auto; }
-table#enano-main td#main-main a                   { color: #7090B0; }
-table#enano-main td#main-main a:hover             { color: #90B0D0; }
-table#enano-main td#main-main a[href ^="http://"]        { color: #80A0C0; background: url(../images/bleu/external.gif) center right no-repeat; padding-right: 16px; }
-table#enano-main td#main-main a[href ^="https://"]       { color: #80A0C0; background: url(../images/bleu/https.gif)    center right no-repeat; padding-right: 16px; }
-table#enano-main td#main-main a[href ^="mailto:"]        { color: #80A0C0; background: url(../images/bleu/email.gif)    center right no-repeat; padding-right: 16px; }
-table#enano-main td#main-main a[href ^="irc://"]         { color: #80A0C0; background: url(../images/bleu/irc.gif)      center right no-repeat; padding-right: 16px; }
-table#enano-main td#main-main a[href ^="http://"]:hover  { color: #A0C0E0; background: url(../images/bleu/external.gif) center right no-repeat; padding-right: 16px; }
-table#enano-main td#main-main a[href ^="https://"]:hover { color: #A0C0E0; background: url(../images/bleu/https.gif)    center right no-repeat; padding-right: 16px; }
-table#enano-main td#main-main a[href ^="mailto:"]:hover  { color: #A0C0E0; background: url(../images/bleu/email.gif)    center right no-repeat; padding-right: 16px; }
-table#enano-main td#main-main a[href ^="irc://"]:hover   { color: #A0C0E0; background: url(../images/bleu/irc.gif)      center right no-repeat; padding-right: 16px; }
-
-/* Footer */
-
-table#enano-main td#foot-main {
-  color: #AAA;
-  font-size: 7pt;
-}
-
-/* Styled boxes */
-
-.mdg-comment, .mdg-infobox        { margin-left: 1em; padding: 7px; border: 1px solid #AAAAAA; background-color: #E8E8E8; }
-
-/* Tables */
-
-.tblholder                        { margin: 10px 0 0 0; padding: 0; border: 1px solid #AAAAAA; background-color: #E8E8E8; }
-div.tblholder td.row1             { padding: 4px; background-color: #E0E0E0; }
-div.tblholder td.row2             { padding: 4px; background-color: #F0F0F0; }
-div.tblholder td.row3             { padding: 4px; background-color: #E8E8E8; }
-div.tblholder th                  { padding: 4px; background-color: #7080A0; font-weight: bold; text-align: center; color: #FFFFFF; }
-div.tblholder th.subhead          { padding: 4px; background-color: #90A0B0; font-weight: bold; text-align: center; color: #FFFFFF; }
-div.tblholder table               { background-color: #FFFFFF; width: 100%; }
+/* Rounded corners on nearly everything */
+td#mdg-tl                         { width: 12px; height: 12px;     background: url(../images/bleu/border-tl.gif);    }
+td#mdg-tr                         { width: 12px; height: 12px;     background: url(../images/bleu/border-tr.gif);    }
+td#mdg-top                        {                                background: url(../images/bleu/border-top.gif);   }
+td#mdg-l                          { width: 12px; height: 12px;     background: url(../images/bleu/border-l.gif);     }
+td#mdg-r                          { width: 12px; height: 12px;     background: url(../images/bleu/border-r.gif);     }
+td#mdg-bl                         { width: 12px; height: 12px;     background: url(../images/bleu/border-tb-l.gif);  }
+td#mdg-br                         { width: 12px; height: 12px;     background: url(../images/bleu/border-tb-r.gif);  }
+td#mdg-ml                         { width: 12px; height: 12px;     background: url(../images/bleu/border-m-l.gif);   }
+td#mdg-mr                         { width: 12px; height: 12px;     background: url(../images/bleu/border-m-r.gif);   }
+td#mdg-brl                        { width: 12px; height: 1px;      background: url(../images/bleu/border-m-l.gif);   }
+td#mdg-brr                        { width: 12px; height: 1px;      background: url(../images/bleu/border-m-r.gif);   }
+td#mdg-btl                        { width: 12px; height: 1px;      background: url(../images/bleu/border-btm-l.gif); }
+td#mdg-btr                        { width: 12px; height: 1px;      background: url(../images/bleu/border-btm-r.gif); }
+td#mdg-btcl                       { width: 12px; height: 12px;     background: url(../images/bleu/border-bl.gif);    }
+td#mdg-btcr                       { width: 12px; height: 12px;     background: url(../images/bleu/border-br.gif);    }
+td#mdg-btm                        {              height: 12px;     background: url(../images/bleu/border-btm.gif);   }
+td.mdg-menu-top                   { width: 84%;  height: 12px;     background: url(../images/bleu/border-menu-t.gif); margin: 0; padding: 0; background-repeat: repeat-x; font-size: 2px; }
+td.mdg-menu-tl                    { width: 12px; height: 12px;     background: url(../images/bleu/border-menu-l.gif); background-position: left  top; background-repeat: no-repeat; }
+td.mdg-menu-tr                    { width: 12px; height: 12px;     background: url(../images/bleu/border-menu-r.gif); background-position: right top; background-repeat: no-repeat; }
+td.mdg-menu-bl                    { width: 12px; height: 12px;     background: url(../images/bleu/border-bl.gif);    }
+td.mdg-menu-br                    { width: 12px; height: 12px;     background: url(../images/bleu/border-br.gif);    }
+td.mdg-menu-btm                   {              height: 12px;     background: url(../images/bleu/border-btm.gif);   }
 
 /* Buttons and textboxes - these settings are used almost everywhere */
-
-input, textarea, select                   { border: 1px solid #406080; background-color: #F2F2F2; padding: 3px; font-family: arial, helvetica, sans-serif; font-size: 9pt; }
+input, textarea, select                   { border: 1px solid #406080; background-color: #F2F2F2; padding: 3px; font-family: arial, helvetica, sans-serif; font-size: 8pt; }
 input:hover, textarea:hover, select:hover { border: 1px solid #6080A0; background-color: #F8F8F8; padding: 3px; }
 input:focus, textarea:focus, select:focus { border: 1px solid #90B0D0; background-color: #FFFFFF; padding: 3px; }
-label                                     { padding: 3px; cursor: pointer; }
+label                                     { padding: 3px; cursor: pointer; font-family: arial, helvetica, sans-serif; font-size: 8pt; }
 label:hover                               { padding: 3px; cursor: pointer; background-color: #F0F0F0; }
 input#pageheading                         { font-size: 14pt; border-bottom: 1px solid #90B0D0; margin-bottom: 0; }
 
+input[type ^="button"], input[type ^="submit"] {
+  background-image: url(../images/buttonbg.gif);
+  background-repeat: repeat-x;
+  color: #202020;
+}
+
+/* JWS window theming */
+div.jswindow                      { border: 2px solid #7090B0; border-top: 5px solid #7090B0; padding: 0px; font-family: Trebuchet MS, tahoma, verdana, arial, sans-serif; font-size: 9pt; display: none; position: absolute; background-color: #FFFFFF; }
+div.titlebar                      { background-color: #7090B0; color: #FFFFFF; font-family: Trebuchet MS, tahoma, verdana, arial, sans-serif; font-size: 9pt; padding-bottom: 4px; cursor: default; }
+div.titlebar div.closebtn         { width: 16px; height: 16px; border: 1px solid #B0D0F0; background-color: #90B0D0; display: block; }
+div.titlebar div.closebtn:hover   { width: 16px; height: 16px; border: 1px solid #FFFFFF; background-color: #B0D0F0; display: block; }
+div.titlebar table, div.titlebar td { margin: 0; padding: 0; }
+div.jswindow div.content          { padding: 10px; margin: 0; background-color: #FFFFFF; }
+
+/* The Wordpress-like fills behind checkboxes and their labels */
+.catCheck                         { padding: 3px; }
+.catCheck:hover                   { padding: 3px; background-color: #F0F0F0; }
+
+/* Information, warning, question, error, and wait boxes */
+div.error-box                     { background-image: url(../../../images/error.png);    background-position: 8px 8px; background-repeat: no-repeat; background-color: #FFF4F4; border: 1px dashed #406080; padding: 10px 10px 10px 50px; margin: 1em 0 0 1em; min-height: 25px; }
+div.info-box                      { background-image: url(../../../images/info.png);     background-position: 8px 8px; background-repeat: no-repeat; background-color: #F4F4FF; border: 1px dashed #406080; padding: 10px 10px 10px 50px; margin: 1em 0 0 1em; min-height: 25px; }
+div.warning-box                   { background-image: url(../../../images/warning.png);  background-position: 8px 8px; background-repeat: no-repeat; background-color: #FFFFF4; border: 1px dashed #406080; padding: 10px 10px 10px 50px; margin: 1em 0 0 1em; min-height: 25px; }
+div.question-box                  { background-image: url(../../../images/question.png); background-position: 8px 8px; background-repeat: no-repeat; background-color: #F4FFF4; border: 1px dashed #406080; padding: 10px 10px 10px 50px; margin: 1em 0 0 1em; min-height: 25px; }
+div.wait-box                      { background-image: url(../../../images/wait.png);     background-position: 8px 8px; background-repeat: no-repeat; background-color: #FFF4FF; border: 1px dashed #406080; padding: 10px 10px 10px 50px; margin: 1em 0 0 1em; min-height: 25px; }
+
+/* This stuff is mostly unused, left in for compatibility */
+div#ajaxEditContainer table       { border: 0px solid #FFFFFF; }
+div#ajaxEditContainer td          { margin: 1px; }
+/* div#ajaxEditContainer             { overflow: auto; } /* Makes ajaxEditContainer scroll horizontally in firefox if the content is too wide - prevents that ugly clipping effect */
+div#ajaxEditContainer pre         { margin-left: 1em; background-color: #F8F8F8; border: 1px dashed #90B0D0; padding: 10px; overflow: auto; max-height: 150px; }
+
+/* toolbar */
+div.toolbar {
+  border-bottom: 1px solid #909090;
+  background-color: #D0D0D0;
+  padding: 2px 0;
+  height: 22px;
+  font-family: arial, sans-serif;
+  font-size: 8pt;
+}
+div.toolbar ul {
+  margin: 0;
+  padding: 0;
+}
+div.toolbar ul li {
+  list-style: none;
+  margin: 0;
+  float: left;
+}
+div.toolbar a img {
+  opacity: 0.6;
+  /*filter: alpha(opacity=60);*/
+}
+div.toolbar a:hover img {
+  opacity: 1;
+  /*filter: alpha(opacity=100);*/
+}
+div.toolbar a {
+  display: block;
+  padding: 2px;
+  border: 1px solid transparent;
+  cursor: default;
+  width: auto;
+  color: #000000;
+  margin: 0 2px;
+  max-height: 16px;
+  text-decoration: none;
+}
+div.toolbar a:hover {
+  border: 1px solid #202090;
+  background-color: #ceceed;
+  color: #000000;
+  text-decoration: none;
+}
+div.toolbar a:active {
+  border: 1px solid #A0A0A0;
+  background-color: #E0E0E0;
+}
+div.toolbar img {
+  margin: 0;
+  padding: 0;
+  display: inline;
+  border-width: 0px;
+}
+div.toolbar a span {
+  position: relative;
+  top: -4px;
+}
+div.toolbar li span {
+  padding-left: 2px;
+  padding-right: 5px;
+}
+
+/* vertical toolbar */
+div.toolbar_vert {
+  border: 1px solid #909090;
+  background-color: #D0D0D0;
+  padding: 2px 0;
+}
+div.toolbar_vert ul {
+  margin: 0;
+  padding: 0;
+}
+div.toolbar_vert ul li {
+  list-style: none;
+  margin: 0;
+}
+div.toolbar_vert a img {
+  opacity: 0.6;
+  /*filter: alpha(opacity=60);*/
+}
+div.toolbar_vert a:hover img {
+  opacity: 1;
+  /*filter: alpha(opacity=100);*/
+}
+div.toolbar_vert a {
+  display: block;
+  padding: 2px;
+  border: 1px solid transparent;
+  cursor: default;
+  width: auto;
+  color: #000000;
+  margin: 0 2px;
+  max-height: 16px;
+  text-decoration: none;
+}
+div.toolbar_vert a:hover {
+  border: 1px solid #202090;
+  background-color: #ceceed;
+  color: #000000;
+  text-decoration: none;
+}
+div.toolbar_vert a:active {
+  border: 1px solid #A0A0A0;
+  background-color: #E0E0E0;
+}
+div.toolbar_vert img {
+  margin: 0;
+  padding: 0;
+  display: inline;
+  border-width: 0px;
+}
+div.toolbar_vert a span {
+  position: relative;
+  top: -4px;
+}
+div.toolbar_vert li span {
+  padding-left: 2px;
+  padding-right: 5px;
+}
+
--- a/themes/oxygen/css/bleu.css	Wed Nov 21 15:18:15 2007 -0500
+++ b/themes/oxygen/css/bleu.css	Wed Nov 21 20:14:14 2007 -0500
@@ -10,6 +10,8 @@
 .holder                            { border: 1px solid #CCCCCC; padding: 1px; background-color: #FFFFFF; color: #444444 }
 div.pad                            { padding: 10px; }                         
 table#title                        { margin: 0; padding: 0; height: 100px; background-color: #90B0D0; text-align: center; }
+table.simple-layout td#mainhead    { margin: 0; padding: 0; background-color: #90B0D0; text-align: center; }
+table.simple-layout td#mainhead h1 { margin: 15px 0; padding: 0; font-size: 14pt; }
 
 /* Sidebar */
 td.mdgSidebarHolder                { width: 140px; }
@@ -41,6 +43,7 @@
 div.contentDiv h3                                                                    { font-size: 11pt; font-weight: bold; }
 div.contentDiv ul li                     , div#messageBox ul li                      { list-style: url(../images/bleu/bullet.gif); }
 div.contentDiv p                         , div#messageBox p                          { margin-left: 1.0em; }
+table.simple-layout div.contentDiv p                                                 { margin-left: 0em; }
 div.contentDiv blockquote                , div#messageBox blockquote                 { background-color: #F4F4F4; border: 1px dotted #406080; margin: 1em; padding: 10px; max-height: 250px; overflow: auto; }
 div.contentDiv                           , div#messageBox                            { font-size: 9pt; }
 div.contentDiv a                         , div#messageBox a                          { color: #7090B0; }
--- a/themes/oxygen/css/mint.css	Wed Nov 21 15:18:15 2007 -0500
+++ b/themes/oxygen/css/mint.css	Wed Nov 21 20:14:14 2007 -0500
@@ -6,10 +6,12 @@
  
 /* The basics */
 html,body                          { height: 100%; }
-body                               { margin: 0; padding: 0; background: url(../images/mint/bg.png); font-family: trebuchet ms, verdana, arial, helvetica, sans-serif; font-size: 9pt; }
+body                               { /* color added in 1.0.2 to fix light text in dark desktop themes */ color: #202020; margin: 0; padding: 0; background: url(../images/mint/bg.png); font-family: trebuchet ms, verdana, arial, helvetica, sans-serif; font-size: 9pt; }
 .holder                            { border: 1px solid #CCCCCC; padding: 1px; background-color: #FFFFFF; color: #444444 }
 div.pad                            { padding: 10px; }                         
 table#title                        { margin: 0; padding: 0; height: 100px; background-color: #90D0B0; text-align: center; }
+table.simple-layout td#mainhead    { margin: 0; padding: 0; background-color: #90D0B0; text-align: center; }
+table.simple-layout td#mainhead h1 { margin: 15px 0; padding: 0; font-size: 14pt; }
 
 /* Sidebar */
 td.mdgSidebarHolder                { width: 140px; }
@@ -41,6 +43,7 @@
 div.contentDiv h3                                                                    { font-size: 11pt; font-weight: bold; }
 div.contentDiv ul li                     , div#messageBox ul li                      { list-style: url(../images/mint/bullet.gif); }
 div.contentDiv p                         , div#messageBox p                          { margin-left: 1.0em; }
+table.simple-layout div.contentDiv p                                                 { margin-left: 0em; }
 div.contentDiv blockquote                , div#messageBox blockquote                 { background-color: #F4F4F4; border: 1px dotted #408060; margin: 1em; padding: 10px; max-height: 250px; overflow: auto; }
 div.contentDiv                           , div#messageBox                            { font-size: 9pt; }
 div.contentDiv a                         , div#messageBox a                          { color: #70B090; }
@@ -55,8 +58,8 @@
 div.contentDiv a[href ^="irc://"]:hover  , div#messageBox a[href ^="irc://"]:hover   { color: #A0E0C0; background: url(../images/mint/irc.gif)      center right no-repeat; padding-right: 16px; }
 
 /* Wikilinks to pages that don't exist */
-div.contentDiv a.wikilink-nonexistent       { color: #B02050; }
-div.contentDiv a.wikilink-nonexistent:hover { color: #D03060; }
+div.contentDiv a.wikilink-nonexistent       { color: #B05020; }
+div.contentDiv a.wikilink-nonexistent:hover { color: #D06030; }
 
 /* Well, not Midget and not comments (usually), but that's what the class is called ;-). Basically an informational window or used as a wrapper for tables. */
 .mdg-comment, .mdg-infobox        { margin-left: 1em; padding: 7px; border: 1px solid #AAAAAA; background-color: #E8E8E8; }
@@ -257,10 +260,10 @@
 
 /* Information, warning, question, error, and wait boxes */
 div.error-box                     { background-image: url(../../../images/error.png);    background-position: 8px 8px; background-repeat: no-repeat; background-color: #FFF4F4; border: 1px dashed #408060; padding: 10px 10px 10px 50px; margin: 1em 0 0 1em; min-height: 25px; }
-div.info-box                      { background-image: url(../../../images/info.png);     background-position: 8px 8px; background-repeat: no-repeat; background-color: #F4FFF4; border: 1px dashed #408060; padding: 10px 10px 10px 50px; margin: 1em 0 0 1em; min-height: 25px; }
-div.warning-box                   { background-image: url(../../../images/warning.png);  background-position: 8px 8px; background-repeat: no-repeat; background-color: #FFF4FF; border: 1px dashed #408060; padding: 10px 10px 10px 50px; margin: 1em 0 0 1em; min-height: 25px; }
-div.question-box                  { background-image: url(../../../images/question.png); background-position: 8px 8px; background-repeat: no-repeat; background-color: #F4F4FF; border: 1px dashed #408060; padding: 10px 10px 10px 50px; margin: 1em 0 0 1em; min-height: 25px; }
-div.wait-box                      { background-image: url(../../../images/wait.png);     background-position: 8px 8px; background-repeat: no-repeat; background-color: #FFFFF4; border: 1px dashed #408060; padding: 10px 10px 10px 50px; margin: 1em 0 0 1em; min-height: 25px; }
+div.info-box                      { background-image: url(../../../images/info.png);     background-position: 8px 8px; background-repeat: no-repeat; background-color: #F4F4FF; border: 1px dashed #408060; padding: 10px 10px 10px 50px; margin: 1em 0 0 1em; min-height: 25px; }
+div.warning-box                   { background-image: url(../../../images/warning.png);  background-position: 8px 8px; background-repeat: no-repeat; background-color: #FFFFF4; border: 1px dashed #408060; padding: 10px 10px 10px 50px; margin: 1em 0 0 1em; min-height: 25px; }
+div.question-box                  { background-image: url(../../../images/question.png); background-position: 8px 8px; background-repeat: no-repeat; background-color: #F4FFF4; border: 1px dashed #408060; padding: 10px 10px 10px 50px; margin: 1em 0 0 1em; min-height: 25px; }
+div.wait-box                      { background-image: url(../../../images/wait.png);     background-position: 8px 8px; background-repeat: no-repeat; background-color: #FFF4FF; border: 1px dashed #408060; padding: 10px 10px 10px 50px; margin: 1em 0 0 1em; min-height: 25px; }
 
 /* This stuff is mostly unused, left in for compatibility */
 div#ajaxEditContainer table       { border: 0px solid #FFFFFF; }
--- a/themes/oxygen/simple-footer.tpl	Wed Nov 21 15:18:15 2007 -0500
+++ b/themes/oxygen/simple-footer.tpl	Wed Nov 21 20:14:14 2007 -0500
@@ -1,19 +1,21 @@
 
             </div>
           </td>
-          <td id="main-right"></td>
+          <td id="mdg-mr"></td>
         </tr>
         <tr>
-          <td id="foot-left"></td>
-          <td id="foot-main">
-            {COPYRIGHT}
+          <td id="mdg-btl"></td>
+          <td>
+            <div id="credits">
+              {COPYRIGHT}
+            </div>
           </td>
-          <td id="foot-right"></td>
+          <td id="mdg-btr"></td>
         </tr>
         <tr>
-          <td id="foot-btm-left"></td>
-          <td id="foot-btm"></td>
-          <td id="foot-btm-right"></td>
+          <td id="mdg-btcl"></td>
+          <td id="mdg-btm"></td>
+          <td id="mdg-btcr"></td>
         </tr>
       </table>
     </td>
--- a/themes/oxygen/simple-header.tpl	Wed Nov 21 15:18:15 2007 -0500
+++ b/themes/oxygen/simple-header.tpl	Wed Nov 21 20:14:14 2007 -0500
@@ -3,31 +3,31 @@
   <head>
     <title>{PAGE_NAME} &bull; {SITE_NAME}</title>
     <meta http-equiv="Content-type" content="text/html; charset=utf-8" />
-    <link rel="stylesheet" href="{SCRIPTPATH}/themes/{THEME_ID}/css-simple/{STYLE_ID}.css" type="text/css" id="mdgCss" />
+    <link rel="stylesheet" href="{SCRIPTPATH}/themes/{THEME_ID}/css/{STYLE_ID}.css" type="text/css" id="mdgCss" />
     {JS_DYNAMIC_VARS}
     <!-- This script automatically loads the other 15 JS files -->
     <script type="text/javascript" src="{SCRIPTPATH}/includes/clientside/static/enano-lib-basic.js"></script>
     {ADDITIONAL_HEADERS}
   </head>
   <body>
-    <table border="0" style="width: 100%; height: 100%;">
+    <table class="simple-layout" border="0" style="width: 100%; height: 100%;">
     <tr>
     <td style="width: 10%;"></td>
     <td valign="middle">
       <table id="enano-main" border="0" cellspacing="0" cellpadding="0" style="margin: 0 auto;">
         <tr>
-          <td id="head-up-left"></td>
-          <td id="head-up"></td>
-          <td id="head-up-right"></td>
+          <td id="mdg-tl"></td>
+          <td id="mdg-top"></td>
+          <td id="mdg-tr"></td>
         </tr>
         <tr>
-          <td id="head-left"></td>
-          <td id="head-main">
+          <td id="mdg-l"></td>
+          <td id="mainhead">
             <h1>{PAGE_NAME}</h1>
           </td>
-          <td id="head-right"></td>
+          <td id="mdg-r"></td>
         </tr>
         <tr>
-          <td id="main-left"></td>
-          <td id="main-main">
-            <div id="ajaxEditContainer">
+          <td id="mdg-ml"></td>
+          <td style="background-color: #FFF;">
+            <div id="ajaxEditContainer" class="contentDiv">