Its odd that there are 100 css sprite examples with not a single one showing how to make a menu item stay 'current' in WP.
I am sure my way is wrong in many ways, but it works for me!
1. Make your menu here: (its great)
http://lab.mattvarone.com/navbar/index.php
2. Place the css in your stylesheet, and the html where you want.
3. Read this, esp. about php: http://codex.wordpress.org/Dynamic_Menu_Highlighting
4. From matt's css, carefully take out all styling for .current. eg:
ul#navigation li#navigation-1 a.current {
background-position: -120px 0px
}
and replace it with appropriate php in the header, (see "3"). EG:
<?php
if ( is_page('home') ) { $current1 = 'navigation-1 a'; }
elseif ( is_category('bla') ) { $current2 = 'navigation-2 a'; }
?>
etc.
I am sure someone smarter can show a better way, but no one has that I can find!