PJS:
Oh my god, that is amazing!
I've been trying to do something like this and failed abysmally.
Now you must stop teasing us. Please, please, please post your code somewhere for download, so that I can study it to understand how you have done this, then make my own.
Please, please, please.
PS I think I m ight have forgotten to say "please".