Well thought out solution, but it’s not as simple as it could be. All the solutions I’ve seen to this problem go down the same route as yourself.
I developed an alternative technique to this problem which is a lot simpler and doesn’t have any code bloat, check it out on the link below:
http://www.aspmessageboard.com/showthread.php?t=229532
Hope you find it useful :o)
]]>