Hiya spikepl,
I was wondering if you could post the final working code for this as it sounds exactly what I need to do.
Found this post while googling about looking for suggestions, I'm sure it would be really useful for many many people.
Looks like a pretty big task to make from scratch...