Я собрал быстрый макет для jsfiddle , который, кажется, работает. Я убрал большую часть разметки, чтобы ее было легче читать.
Единственные изменения, которые я сделал, - это удаление знака $ в объявлениях функций и использование обработчика событий live () вместо click ().
Редактировать: в целях объяснения, поскольку вы управляете DOM, добавляя и удаляя классы, вы должны использовать обработчик событий live ().