A warning: I just implemented this today (and thank you, I've been looking for it and I'm very glad to have it) and immediately got complaints from some users that they could see the hidden text. They were all using older versions of Netscape -- I tested it with 4.5 and I know it wouldn't work at all in Netscape 3 (no stylesheet support), so I assume they must have been using 4.0 or thereabouts.
I had to modify the code to set the background color of the table cell to white, and changed the font color to white with HTML, bypassing style sheets altogether. It's nowhere near as nice as the version you came up with, since it shows up white on all style sheets, but it works for just about anyone, including people using non-CSS compatible browsers.