Итоги голосования для комментария:
nekroz и вдобавок уже есть отличная реализация от Геометра, которая осталась без комментариев
+