Немножко надо облагородить и добавть комментариев. Думаю, сегодня вечером будет готово.