Руднев,
По идее, любую задачу можно решать несколькими методами. Я пока только такой нашёл - ведь я только начал учить JS. но, думаю, спецы сделали бы по-другому, а меня раскритиковали в "пух и прах"
Так что будем ждать другие варианты - я сам с удовольствием гляну