My own JS library is designed to handle things like this out of the box by attaching a 'uSort' method to TBODY elements.
It's currently in early beta and there's a major compatibility bug with legacy IE (that came about from my taking bad advice from someone) that I need to fix, but as you can see on that page implementing it is pretty simple compared to other methods. You could easily eventAdd a handler to your THEAD's TH (assuming you have proper document structure) to say to sort by that field and reverse the order if already sorted by that one.
I'm fixing that legacy IE bug right now, but when I'm done I'll toss together an example of that in action for you. It's a lot leaner a solution than jQuery (to the tune of 1/8th the size once compressed) and assuming your table is well formed should be pretty speedy too.