Many thanks for your time and effort deciphering my post and posting, what on the face of it, looks like an excellent reply. This looks like exactly what I want, I must give it a try. I kinda thought this problem would either be very hard/impossible to solve (very unlikely!)or have a concise elegant solution like you've posted.
I intend to have a play and may come back with some more questions, if thats ok?