Members may post updates or alternatives to this current article in order to show different approaches or add new features.
This article, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)
Freelance .NET developer from Prague, Czech republic. You have a problem - I am the solution.
Visit me at http://petr.briza.net.