buenas,
lo que sucede es que el estado que indica la conmutación no es persistente. es decir, las variables tienen un tiempo de vida. cuando son variables locales, estas se destruyen al final de la función. tendrías que crear una variable que, no sea destruida, y que sea accesible para la función. en otras palabras, crear una variable global. existe otra característica de javascript donde puedes crear una variable local y que no sea destruida, gracia al mecanismo closure. pero ya eso es otro tema y probablemente te enredes más aún.