Cita:
Iniciado por ZiTAL a parte de lo que te dice venkman, ponlo arriba de la llamada setTimeout ya que al llamar al settimeout aun no ha leido la funcion y te dice que no existe.
Colocar la función arriba o debajo del setTimeout no hace diferencia... Pero sí, como bien ha comentado
venkman, colocar setTimeOut sí causa problemas.