Реализовано долго и мучительно)) И говнокод, к сожалению, конечно, получился. Но по предложенным вариантам отрабатывает.. Прошу подсказать, что я делаю не так - какой пример не отработан, не учтён? Заранее спасибо! =)