If you only need to change a single color, you could use a png with transparency for the portions that change, and set the background color of the image so it could 'bleed' through the transparent portions of the image.
Another option would be to use an image sprite the navigation elements, meaning you would merge your navigation buttons and states into a single large image and manipulate the background-position of the element so the correct portion is visible for the appropriate state.
Here's a guide to using sprites: http://css-tricks.com/css-sprites/