mmm, interesante, pero creo que en el foro de javascript te pueden ayudar mejor, puedes reportarlo para que lo muevan
lo que puedo ver es que tratas de colocar la instancia del contexto en una variable
global ctx, más sin embargo desde la función
carga() re-defines la misma variable:
var ctx; //contexto global (global scope,
window.
ctx)
function carga() {
var ctx = ... //dentro de la función
por eso el contexto nunca llega a la variable global, porque la has re-definido dentro de la función y ya no pertenece al
scope global , si la defines como global, dentro de las funciones no debes usar
var a no ser que la variable sea propia de dicha función.
veo que se presenta el problema con otras variables, por lo que tendrás que resolverlo y probar para descartar que no sea otra cosa como los
closures