Just to throw it out there,
here is my heavily altered version. Visually it's very similar, but if you look at the source code you'll see it's quite different.
I've added a doctype (plus the IE shim) for HTML5, removed all those spans/ul/li (they just aren't needed), and so re-implemented your menu. The menu is CSS based, and works without javascript. If you do have Javascript enabled then you'll get an added fade. I was working on a noscript fade version working using CSS transitions, however a bug in regards to it making the menu un-selectable when faded out stopped it's usage (but I'm fairly certain it's possible if I had of beat my head against it for another hour). I also leveraged the child selector over the all selector (i.e. 'foo > bar' rather then 'foo bar') as the CSS renders faster and it significantly speeds up jQuery animations.
I also found yours did not work in IE 9; mine is tested and works in FireFox, Chrome, IE 7 through 9 on Windows. It does not support IE 6, although probably would if you removed the >'s from the CSS. The menu fades also don't work in IE 8 and below; it needs some jQuery tinkering to fix this.
I've also moved scripts to the bottom (for faster rendering), added a CSS reset, now retrieve jQuery from Google (for faster page download and to leverage better caching), added utf8 at the top (speeds up rendering in old IEs) and added some other parts like the role for the main div. All of those are taken from
HTML5 Boilerplate.
I hope that helps!