Hola:
Hay un par de cosas en el código que me resultan ambiguas: en un if pones return false, así que lo siguiente no se procesa... y eso "siguiente" tiene una instrucción submit() que si se ejecuta deja de ejecutarse lo "más siguiente"...
Como respuesta a la pregunta original, te puedo asegurar que las variable globales pueden modificarse con los métodos que las manejan.
Saludos