=== modified file 'uc_catalog/uc_catalog.css'
--- uc_catalog/uc_catalog.css	2008-07-09 14:42:07 +0000
+++ uc_catalog/uc_catalog.css	2008-12-29 19:00:50 +0000
@@ -1,5 +1,9 @@
 /* $Id$ */
 
+.catalog .trail {
+  font-weight: bold;
+}
+
 img.category {
   float: right;
   padding-left: 1em;

=== modified file 'uc_catalog/uc_catalog.module'
--- uc_catalog/uc_catalog.module	2008-12-22 21:58:45 +0000
+++ uc_catalog/uc_catalog.module	2008-12-29 19:08:24 +0000
@@ -174,8 +174,9 @@
 
 function uc_catalog_theme() {
   return array(
-    'uc_catalog_block_start' => array(),
-    'uc_catalog_block_end' => array(),
+    'uc_catalog_block' => array(
+      'arguments' => array('menu_tree' => NULL),
+    ),
     'uc_catalog_browse' => array(
       'arguments' => array('tid' => 0),
       'file' => 'uc_catalog.pages.inc',
@@ -189,11 +190,10 @@
     'uc_catalog_item' => array(
       'arguments' => array(
         'here' => NULL,
-        'active_link' => NULL,
+        'link' => NULL,
         'lis' => NULL,
         'expand' => NULL,
         'inpath' => NULL,
-        'link' => NULL,
         'count_children' => NULL,
       ),
     ),
@@ -395,6 +395,8 @@
       if (user_access('view catalog')) {
         switch ($delta) {
           case 0:
+            drupal_add_css(drupal_get_path('module', 'uc_catalog') .'/uc_catalog.css');
+
             // Get the vocabulary tree information.
             $vid = variable_get('uc_catalog_vid', 0);
             $tree = taxonomy_get_tree($vid);
@@ -410,13 +412,10 @@
               // Begin at the root of the tree and find the proper place.
               $menu_tree->add_child($knothole);
             }
+
             // Now, create a structured menu, separate from Drupal's menu.
-            $content .= theme("uc_catalog_block_start");
-            foreach ($menu_tree->children as $branch) {
-              list($inpath, $html) = _uc_catalog_navigation($branch);
-              $content .= $html;
-            }
-            $content .= theme("uc_catalog_block_end");
+            $content .= theme('uc_catalog_block', $menu_tree);
+
             $subject = variable_get('uc_catalog_name', t('Catalog'));
             if (variable_get('uc_catalog_block_title', FALSE)) {
               $subject = l($subject, 'catalog');
@@ -430,25 +429,22 @@
 }
 
 /**
- * Theme the beginning of the catalog block.
- *
- * @ingroup themeable
- * @see theme_uc_catalog_item()
- * @see theme_uc_catalog_block_end()
- */
-function theme_uc_catalog_block_start() {
-  return '<ul class="menu">';
-}
-
-/**
- * Theme the end of the catalog block.
- *
- * @ingroup themeable
- * @see theme_uc_catalog_block_start()
- * @see theme_uc_catalog_item()
- */
-function theme_uc_catalog_block_end() {
-  return '</ul>';
+ * Theme the catalog block.
+ *
+ * @ingroup themeable
+ * @see theme_uc_catalog_item()
+ */
+function theme_uc_catalog_block($menu_tree) {
+  $output = '<ul class="catalog menu">';
+
+  foreach ($menu_tree->children as $branch) {
+    list($inpath, $html) = _uc_catalog_navigation($branch);
+    $output .= $html;
+  }
+
+  $output .= '</ul>';
+
+  return $output;
 }
 
 /******************************************************************************
@@ -835,6 +831,16 @@
     $types = uc_product_types();
   }
 
+  $num = 0;
+  foreach ($types as $type) {
+    $num += taxonomy_term_count_nodes($branch->tid, $type);
+  }
+
+  // No nodes in category or descendants. Not in path and display nothing.
+  if (!$num) {
+    return array(FALSE, '');
+  }
+
   $branch_path = uc_catalog_path($branch);
   if (!isset($breadcrumb)) {
     $breadcrumb = drupal_get_breadcrumb();
@@ -863,24 +869,14 @@
     $inpath = $here;
   }
 
-  $num = 0;
-  foreach ($types as $type) {
-    $num += taxonomy_term_count_nodes($branch->tid, $type);
-  }
-
   // Checks to see if node counts are desired in navigation
   $num_text = '';
   if (variable_get('uc_catalog_block_nodecount', TRUE)) {
     $num_text = ' ('. $num .')';
   }
 
-  if (!$num) { // No nodes in category or descendants. Not in path and display nothing.
-    return array(FALSE, '');
-  }
-
   $expand = variable_get('uc_catalog_expand_categories', FALSE);
   $link = l($branch->name . $num_text, $branch_path);
-  $active_link = l($branch->name . $num_text, $branch_path, array('attributes' => array('class' => 'active')));
   if ($expand || count($branch->children)) {
     $lis = array();
     foreach ($branch->children as $twig) {
@@ -891,7 +887,7 @@
       }
     }
   }
-  $output = theme("uc_catalog_item", $here, $active_link, $lis, $expand, $inpath, $link, count($branch->children));
+  $output = theme("uc_catalog_item", $here, $link, $lis, $expand, $inpath, count($branch->children));
 
   // Tell parent category your status, and pass on output.
   return array($inpath, $output);
@@ -904,12 +900,12 @@
  * @see theme_uc_catalog_block_start()
  * @see theme_uc_catalog_block_end()
  */
-function theme_uc_catalog_item($here, $active_link = '', $lis, $expand, $inpath, $link, $count_children ) {
-  $output='';
+function theme_uc_catalog_item($here, $link, $lis, $expand, $inpath, $count_children ) {
+  $output = '';
 
   if ($expand || $count_children) {
     if ($here) {
-      $output = '<li class="expanded"><strong>'. $active_link ."</strong>\n";
+      $output = '<li class="expanded"><span class="trail">'. $link ."</span>\n";
       if (count($lis)) {
         $output .= '<ul class="menu">';
         foreach ($lis as $li) {
@@ -920,7 +916,7 @@
       $output .= "</li>";
     }
     elseif ($expand || $inpath) {
-      $output = '<li class="expanded">'. ($referer == $branch_path ? '<strong>' : '') . $link . ($referer == $branch_path ? '</strong>' : '') ."\n";
+      $output = '<li class="expanded"><span class="trail">'. $link ."</span>\n";
       if (count($lis)) {
         $output .= '<ul class="menu">';
         foreach ($lis as $li) {
@@ -935,7 +931,7 @@
     }
   }
   else {
-    $output = '<li class="leaf">'. ($inpath ? '<strong>' : '') . ($here ? $active_link : $link) . ($inpath ? '</strong>' : '') ."</li>\n";
+    $output = '<li class="leaf">'. ($inpath ? '<span class="trail">' : '') . $link . ($inpath ? '</span>' : '') ."</li>\n";
   }
 
   return $output;

