This entire file is complete chaos.  You are defining classes after you use them in the same file.  You are creating a jQuery extension *within* document.ready.  There is nothing about this file that's up to par with the kind of code you should be and are capable of writing.