Index: imagemenu.module
===================================================================
RCS file: /cvs/drupal-contrib/contributions/modules/imagemenu/imagemenu.module,v
retrieving revision 1.7.2.3
diff -u -p -r1.7.2.3 imagemenu.module
--- imagemenu.module	8 Mar 2010 13:33:52 -0000	1.7.2.3
+++ imagemenu.module	15 Apr 2010 16:59:46 -0000
@@ -228,7 +228,7 @@ function imagemenu_theme() {
       'arguments' => array('form' => NULL),
     ),
     'imagemenu_item' => array(
-      'arguments' => array('item', 'has_children', 'prefix' => '', 'layout' => 'vertical', 'menu' => ''),
+      'arguments' => array('item', 'has_children', 'prefix' => '', 'layout' => 'vertical', 'extra_classes' => '', 'menu' => ''),
     ),
     'imagemenu_tree' => array(
       'arguments' => array('tree' => NULL),
@@ -422,15 +422,22 @@ function imagemenu_find_parent($pid) {
   return FALSE;
 }
 
-function imagemenu_build_output($menus, $layout) { 
+function imagemenu_build_output($menus, $layout) {
+  $menu_count = count($menus);
+  $count = 0;
   foreach ($menus as $menu) {
+    $extra_classes = '';
+    if ($count == 0) $extra_classes .= ' first';
+    if ($count == $menu_count -1) $extra_classes .= ' last';
+
     $has_children = empty($menu['link']['has_children']) ? 0 : $menu['link']['has_children'];
     if ($menu['below']) {
-      $output .= theme('imagemenu_item', $menu['link'], $has_children, $mid, $layout, imagemenu_build_output($menu['below'], $layout));
+      $output .= theme('imagemenu_item', $menu['link'], $has_children, $mid, $layout, $extra_classes, imagemenu_build_output($menu['below'], $layout));
     }
     else {
-      $output .= theme('imagemenu_item', $menu['link'], $has_children, $mid, $layout, '');
+      $output .= theme('imagemenu_item', $menu['link'], $has_children, $mid, $layout, $extra_classes, '');
     }
+    $count++;
   }
   return $output ? theme('imagemenu_tree', $output) : '';
 }
@@ -438,8 +445,10 @@ function imagemenu_build_output($menus, 
 /**
  * Generate the HTML output for a imagemenu item
  */
-function theme_imagemenu_item($item, $has_children, $prefix = '', $layout = 'vertical', $menu = '') {
+function theme_imagemenu_item($item, $has_children, $prefix = '', $layout = 'vertical', $extra_classes = '', $menu = '') {
   $class = ($menu ? 'expanded' : ($has_children ? 'collapsed' : 'leaf'));
+  $class .= $extra_classes;
+
   switch ($layout) {
     case 'vertical':
       $listyle = '';
