Index: nice_menus.module
===================================================================
RCS file: /cvs/drupal-contrib/contributions/modules/nice_menus/nice_menus.module,v
retrieving revision 1.16.2.15
diff -u -u -p -r1.16.2.15 nice_menus.module
--- nice_menus.module	20 Dec 2007 14:16:09 -0000	1.16.2.15
+++ nice_menus.module	9 Feb 2008 23:27:04 -0000
@@ -209,14 +209,19 @@ function theme_nice_menu_tree($pid = 1, 
   if ($menu['visible'][$pid]['children']) {
     // Build class name based on menu path 
     // e.g. to give each menu item individual style.
+    $trail = _menu_get_active_trail();
     foreach ($menu['visible'][$pid]['children'] as $mid) {  
       // Strip funny symbols
       $clean_path = str_replace(array('http://', '<', '>', '&', '=', '?', ':'), '', $menu['items'][$mid]['path']);
       // Convert slashes to dashes
       $clean_path = str_replace('/', '-', $clean_path);
-      $path_class = 'menu-path-'. $clean_path;
+      $class = 'menu-path-'. $clean_path;
       if (count($menu['visible'][$mid]['children']) > 0) {
-        $output['content'] .= '<li id="menu-'. $mid .'" class="menuparent '. $path_class .'">'. menu_item_link($mid);
+        // If menu is in active trail, add expanded class
+        if (in_array($mid, $trail)) {
+          $class .= ' expanded';
+        }
+        $output['content'] .= '<li id="menu-'. $mid .'" class="menuparent '. $class .'">'. menu_item_link($mid);
         $output['content'] .= '<ul><!--[if lt IE 7]><iframe src="javascript:false;"></iframe><![endif]-->';
         $tmp = theme('nice_menu_tree', $mid);
         $output['content'] .= $tmp['content'];
@@ -224,7 +229,7 @@ function theme_nice_menu_tree($pid = 1, 
         $output['content'] .= "</li>\n";
       }
       else {
-        $output['content'] .= '<li id="menu-'. $mid .'" class="'. $path_class .'">'. menu_item_link($mid) .'</li>'."\n";
+        $output['content'] .= '<li id="menu-'. $mid .'" class="'. $class .'">'. menu_item_link($mid) .'</li>'."\n";
       }
     }
   }
