Не работает очистка clearTimeout?
Объявите idInterval за пределами анонимных функций, там-же, где var count = 0;
и reset и idInterval объявил глобально (дело не в этом). ClearTimeout все таки работает я думаю. Мне кажется проблем в том, что count обнуляется и потом по новой, а анимация все равно идет (2sec), не могу сообразить как сделать.