Original implementation is no longer live and can only be viewed using via archive.org. It has been later improved by Loren Maxwell, see his latest post and demonstration.
I improved and cleaned up the code to make it more generic. Please see the example below for code and demonstration.