Index: nice_menus.module
===================================================================
--- nice_menus.module	(revision 90)
+++ nice_menus.module	(working copy)
@@ -399,10 +399,22 @@
  */
 function theme_nice_menus_build($menu, $depth = -1, $trail = NULL) {
   $output = '';
+  $index = 0;
+  $count = 0;
+  foreach ($menu as $menu_count) {
+    if ($menu_count['link']['hidden'] == 0) {
+      $count++;
+    }
+  }
   foreach ($menu as $menu_item) {
     $mlid = $menu_item['link']['mlid'];
     // Check to see if it is a visible menu item.
     if ($menu_item['link']['hidden'] == 0) {
+      //prepare marking of li tag as odd, even, first or last
+      $index++;
+	  $first_class = $index == 1 ? ' first ' : '';
+      $oddeven_class = $index % 2 == 0 ? ' even ' : ' odd ';
+      $last_class = $index == $count ? ' last ' : '';
       // Build class name based on menu path
       // e.g. to give each menu item individual style.
       // Strip funny symbols.
@@ -411,7 +423,7 @@
       $clean_path = str_replace('/', '-', $clean_path);
       $class = 'menu-path-'. $clean_path;
       if ($trail && in_array($mlid, $trail)) {
-        $class .= ' active-trail';
+        $class .= ' active-trail ';
       }
       // If it has children build a nice little tree under it.
       if ((!empty($menu_item['link']['has_children'])) && (!empty($menu_item['below'])) && $depth != 0) {
@@ -419,7 +431,7 @@
         $children = theme('nice_menus_build', $menu_item['below'], $depth, $trail);
         // Set the class to parent only of children are displayed.
         $parent_class = $children ? 'menuparent ' : '';
-        $output .= '<li id="menu-'. $mlid .'" class="'. $parent_class . $class .'">'. theme('menu_item_link', $menu_item['link']);
+        $output .= '<li id="menu-'. $mlid .'" class="'. $parent_class . $class . $first_class . $oddeven_class . $last_class .'">'. theme('menu_item_link', $menu_item['link']);
         // Check our depth parameters.
         if ($menu_item['link']['depth'] <= $depth || $depth == -1) {
           // Build the child UL only if children are displayed for the user.
@@ -432,7 +444,7 @@
         $output .= "</li>\n";
       }
       else {
-        $output .= '<li id="menu-'. $mlid .'" class="'. $class .'">'. theme('menu_item_link', $menu_item['link']) .'</li>'."\n";
+        $output .= '<li id="menu-'. $mlid .'" class="'. $class . $first_class . $oddeven_class . $last_class .'">'. theme('menu_item_link', $menu_item['link']) .'</li>'."\n";
       }
     }
   }
