A simple vista puede que te esté faltando cerrar una llave de algún bloque, lo mejor que puedes hacer es ir ordenando e indentando tu código de mejor forma, de otra manera es imposible determinar que parte anda mal.
Aunque si se puede, pero sería hacerte el trabajo de arreglar tu código, cuando el que debe aprender eres tu.