Выложил в первый пост результат работы. Буду постепенно совершенствовать и обновлять. Если где ошибся - говорите. Код работает.