This is totally freaking cool stuff!!

I really want to look through the code for this once you've got it mostly working! Hopefully I'll learn some new tricks from it.

Cheers!