hmm, how about a bit of contenteditable magic?