http://dev.rosyama.ru/bugs/show_bug.cgi?id=248
попытка №2
окончательная версия