--- nice_menus/nice_menus.module.orig	2008-10-10 08:44:44.000000000 +0200
+++ nice_menus/nice_menus.module	2008-10-10 12:16:29.000000000 +0200
@@ -133,9 +133,9 @@
       $form['nice_menus_type_'. $delta] = array(
         '#type' => 'select',
         '#title' => t('Menu Style'),
-        '#description' => t('right: menu items are listed on top of each other and expand to the right') .'<br />'. t('left: menu items are listed on top of each other and expand to the left') .'<br />'. t('down: menu items are listed side by side and expand down'),
+        '#description' => t('right: menu items are listed on top of each other and expand to the right') .'<br />'. t('left: menu items are listed on top of each other and expand to the left') .'<br />'. t('down: menu items are listed side by side and expand down').'<br />'. t('downleft: like "down", but submenus expand to the left'),
         '#default_value' => variable_get('nice_menus_type_'. $delta, 'right'),
-        '#options' => drupal_map_assoc(array('right', 'left', 'down')),
+        '#options' => drupal_map_assoc(array('right', 'left', 'down', 'downleft')),
       );
       return $form;
     break;
@@ -152,7 +152,7 @@
       $direction = variable_get('nice_menus_type_'. $delta, 'right');
       if ($output = theme('nice_menu', $delta, $menu_name, $mlid, $direction)) {
         $block['content'] = $output['content'];
-        if (variable_get('nice_menus_type_'. $delta, 'right') == 'down') {
+        if (strpos('down', variable_get('nice_menus_type_'. $delta, 'right')) === 0) {
           $class = 'nice-menu-hide-title';
         }
         else {
--- nice_menus/nice_menus_default.css.orig	2008-10-10 12:16:28.000000000 +0200
+++ nice_menus/nice_menus_default.css	2008-10-10 12:46:00.000000000 +0200
@@ -150,15 +150,19 @@
  HORIZONTAL (down) menus
 ******************************/
 
+ul.nice-menu-downleft,
 ul.nice-menu-down {
   float: left;
   border: 0;
 }
 
+ul.nice-menu-downleft li,
 ul.nice-menu-down li {
   border-top: 1px solid #ccc;
 }
 
+/* HORIZONTAL menus where submenus pop RIGHT (default). */
+
 ul.nice-menu-down li li {
   border-top: 0;
 }
@@ -208,4 +212,67 @@
 #header-region ul.nice-menu-down li li.menuparent:hover,
 #header-region ul.nice-menu-down li li.over {
   background: #ccc url(arrow-right.png) right center no-repeat;
-}
\ No newline at end of file
+}
+
+/* HORIZONTAL menus where submenus pop LEFT. */
+
+ul.nice-menu-downleft li li {
+/* We must keep the border  because the ul top-border doesn't
+  move to the left together with the ul element. So we keep
+  the li borders, but to avoid double borders we let top-
+  and bottom borders overlap to make them one line. */
+  margin-top: -1px;
+  top: 1px;
+}
+
+ul.nice-menu-downleft ul {
+  border-top: 0;
+  left: 100%;
+  right: 0;
+}
+
+ul.nice-menu-downleft ul li {
+  right: 12.55em;  
+  clear: both;
+}
+
+ul.nice-menu-downleft li ul li ul,
+/* Repeat for Garland header. */
+#header-region ul.nice-menu-downleft li ul li ul {
+  width: 12.5em;
+  left: -0.05em;
+  top: -1px;
+}
+
+ul.nice-menu-downleft .menuparent a {
+  padding-left: 15px;
+}
+
+ul.nice-menu-downleft li.menuparent,
+/* Repeat for Garland header. */
+#header-region ul.nice-menu-downleft li.menuparent {
+  background: #eee url(arrow-down.png) left center no-repeat;
+}
+
+ul.nice-menu-downleft li.menuparent:hover,
+ul.nice-menu-downleft li.over,
+/* Repeat for Garland header. */
+#header-region ul.nice-menu-downleft li.menuparent:hover,
+#header-region ul.nice-menu-downleft li.over {
+  background: #ccc url(arrow-down.png) left center no-repeat;
+}
+
+ul.nice-menu-downleft li li.menuparent,
+/* Repeat for Garland header. */
+#header-region ul.nice-menu-downleft li li.menuparent {
+  background: #eee url(arrow-left.png) left center no-repeat;
+}
+
+ul.nice-menu-downleft li li.menuparent:hover,
+ul.nice-menu-downleft li li.over,
+/* Repeat for Garland header. */
+#header-region ul.nice-menu-downleft li li.menuparent:hover,
+#header-region ul.nice-menu-downleft li li.over {
+  background: #ccc url(arrow-left.png) left center no-repeat;
+}
+
