I'd be more than happy to show how to create a CSS that doesn't display the flashy stuff on print. I used it on a site that has a map in the middle of the page. I assumed that, when people print the page, it's the map they want, not the navigational items. Making use of "display: none;" is handy in such style sheets. Here's my example:
Take a look at noimage_style.css and map_print.css. It's much easier than it sounds and it's a better idea than any JS solution.