Pues podrías checar los nombres de "this["ca"+z]" a ver si la función "trace()" te devuelve el nombre que deseas en realidad.
Aparentemente el código está bien, pero entonces lo que puede ser es que los nombres de esas funciones no sean los correctos.
Código:
trace(this["ca" + z]);//Esto es para ver si te está dando los nombres correctos