Немного причесан код на js, добавлен некоторый функционал.