Hi,
Using CSS is the best solution for what you would like to accomplish. However, I do not recommend loading a different image on hover because the image will not be loaded by the browser until the user hovers. This will cause your default state image to disappear and nothing will be shown until the hover state image is loaded by the browser. To alleviate this issue, you should use an image sprite which is really nothing more than a single image file with all of your various depictions on one canvas. CSS Tricks has a great article about sprites. You can see a very simple image sprite in action on this site (mojoportal.com) in the forums. The "Post Reply" icon is an image sprite and the CSS for the hover state just changes the background position of the image making the it display the "glow" around the icon.
HTH,
Joe D.