Normally we're not allowed to use much (if any) JS where I work, due to 508 compatibility regs -- JS cannot be used for any site-critical functions, in case people are coming to the sites with old browsers, screen readers, etc., etc. We can put JS on the sites, the site just can't break without it. But we're usually operating on such tight budgeting constraints that there's just no time to put in any redundant stuff.
However, I'm doing a big "internal for a client" project for which my boss wants to have all possible bells and whistles, including using JS & CSS to make tabbed interfaces that swap on the fly (via "visibility"), calendar widgets, and similar sorts of hoo-ha. Also, he's been pushing for me to add more JS extras to the sites we build, as much because he's as sick of doing dull sites as we are and wants some fun toys, as anything else.
I've played around with JS occasionally on my own, but generally it was via copy-'n'-paste from free sources on the web. I can usually decipher the code just enough to figure out which bit I need to switch to make the scripts work with my data instead of the sample data, but there's a big difference between that, and actually knowing what you're doing.
So anyway, time for to level-up in Web Programmer again. :) This, and last month's CSS training before it, are really things I should have had three years ago ... but better late than never! Anything that gets me out of the realm of hackdom is a positive step as far as I'm concerned.