Обалденно интересное решение! Практически готовое - только детали уточнить. ))