? admin_menu.js
Index: admin_menu.css
===================================================================
RCS file: /cvs/drupal-contrib/contributions/modules/admin_menu/admin_menu.css,v
retrieving revision 1.4
diff -u -r1.4 admin_menu.css
--- admin_menu.css	29 Jan 2007 23:20:45 -0000	1.4
+++ admin_menu.css	18 Feb 2007 04:59:56 -0000
@@ -17,33 +17,28 @@
 #admin_menu a { display: block; border-right: 1px solid #323232; padding: 4px 7px; font-weight: normal; color: #f0f0f0; text-decoration: none; }
 #admin_menu li li a { border-right: none; border-top: 1px solid #323232; }
 
-/* all list items 
- * - width needed or else Opera goes nuts */
+/* all list items */
+/* width needed or else Opera goes nuts */
 #admin_menu li { float: left; margin: 0 !important; padding: 0; list-style-image: none; background-image: none; }
 #admin_menu li li { width: 160px; background: #202020; filter:Alpha(opacity=88); -moz-opacity: 0.88; }
 
-/* first-level lists */
-
-/* second-level lists
- * - using left instead of display to hide menus because display: none isn't read by screen readers */
+/* second-level lists */
+/* using left instead of display to hide menus because display: none isn't read by screen readers */
 #admin_menu li ul { position: absolute; background: none; margin: 0; width: 160px; left: -999em; line-height: 1.2em; }
 
-/* third-level lists */
-#admin_menu li li ul { margin: -20px 0 0 160px; }
-#admin_menu li:hover ul ul { left: -999em; }
-
-/* fourth-level lists */
-#admin_menu li li li ul { margin: -20px 0 0 160px; }
-#admin_menu li li:hover ul ul { left: -999em; }
+/* third-and-above-level lists */
+#admin_menu li li.expandable ul { margin: -20px 0 0 160px; }
+
+#admin_menu li:hover ul ul, #admin_menu li:hover ul ul ul, #admin_menu li.sfhover ul ul, #admin_menu li.sfhover ul ul ul { left: -999em; }
 
 /* lists nested under hovered list items */
-#admin_menu li:hover ul, #admin_menu li li:hover ul, #admin_menu li li li:hover ul { left: auto; }
+#admin_menu li:hover ul, #admin_menu li li:hover ul, #admin_menu li li li:hover ul, #admin_menu li.sfhover ul, #admin_menu li li.sfhover ul, #admin_menu li li li.sfhover ul { left: auto; }
 
 /* second-and-more-level hovering */
 #admin_menu li li.expandable { background: #606066 url(/misc/menu-collapsed.png) no-repeat 145px 7px; }
-#admin_menu li li:hover { background-color: #333333; }
+#admin_menu li li:hover, #admin_menu li li.sfhover { background-color: #333333; }
+#admin_menu li li:hover a, #admin_menu li li:hover li:hover a, #admin_menu li li:hover li:hover li:hover a { font-weight: bold; }
+#admin_menu li li.expandable:hover a, #admin_menu li li.expandable:hover li.expandable:hover a { border-color: #666666; font-weight: normal; }
+#admin_menu li li:hover li a, #admin_menu li li.sfhover li a { font-weight: normal; }
+#admin_menu li li.sfhover a, #admin_menu li li.sfhover li.sfhover a { font-weight: bold; } /* IE */
 
-#admin_menu li li:hover a,    #admin_menu li li:hover li:hover a,   #admin_menu li li:hover li:hover li:hover a
- { font-weight: bold; }
-#admin_menu li li:hover li a, #admin_menu li li:hover li:hover li a
- { border-color: #666666; font-weight: normal; }
Index: admin_menu.module
===================================================================
RCS file: /cvs/drupal-contrib/contributions/modules/admin_menu/admin_menu.module,v
retrieving revision 1.6
diff -u -r1.6 admin_menu.module
--- admin_menu.module	10 Feb 2007 18:12:17 -0000	1.6
+++ admin_menu.module	18 Feb 2007 05:24:22 -0000
@@ -32,14 +32,12 @@
       else {
         drupal_add_css($css_file, 'module', 'all');
       }
-      /* IE fix using IE7 JavaScript from http://dean.edwards.name/IE7/
-      // You need to alter any instance of "position: fixed;" to "position: absolute;"
-      // in admin_menu.css additionally.
+      // IE fix
       $ie_header = "<!--[if lt IE 7]>\n";
-      $ie_header.= '<script type="text/javascript" src="'. check_url(base_path() . 'modules/admin_menu/ie7/ie7-standard-p.js') .'"></script>';
+      $ie_header.= '<script type="text/javascript" src="/' . drupal_get_path('module', 'admin_menu') . '/admin_menu.js' . '"></script>';
       $ie_header.= "\n<![endif]-->";
       drupal_set_html_head($ie_header);
-      */
+      
       $block['content'] = '<div id="admin_menu">';
       $block['content'].= theme('admin_menu_icon');
       $block['content'].= admin_menu_get_menu();
--- admin_menu.js
+++ admin_menu.js
@@ -0,0 +1,17 @@
+/**
+ * Suckerfish Dropdowns, www.htmldog.com
+ *
+ * IE fix.
+ */
+sfHover = function() {
+	sfEls = document.getElementById("admin_menu").getElementsByTagName("LI");
+	for (var i=0; i<sfEls.length; i++) {
+		sfEls[i].onmouseover=function() {
+			this.className+=" sfhover";
+		}
+		sfEls[i].onmouseout=function() {
+			this.className=this.className.replace(new RegExp(" sfhover\\b"), "");
+		}
+	}
+}
+if (window.attachEvent) window.attachEvent("onload", sfHover);

