Error en llamadas a funciones en Flash
Hola, estoy realizando un formulario para pedir citas a través de Flash. Ahora estoy programando el cómo interactuan entre sí los elementos del formulario activando o desactivando los pasos para pedir dicha cita.
Mi problema es que de buenas a primeras parece como si las funciones que están demasiado "lejos" no fueran accesibles.
¿Sabe alguien si hay algún tipo de limitación en el tamaño del código o en la distancia entre la llamada a la función y la función en sí (pensé que eso solo pasaba en ensamblador XD)?
Por si fuera de utilidad pongo el código:
var especialidades:Array = new Array();
rellenaComboBox(); //Rellenamos el Combo Box...
reiniciarTodo(); //Reiniciamos el formulario...
//ESTA FUNCIÓN NO SE EJECUTA //PERO SI LA //PONGO LA PRIMERA EN LA //DECLARACIÓN SI!
desactivarDias();
//DECLARACIÓN DE LAS FUNCIONES QUE SE USARÁN EN EL PROGRAMA FLASH
cbSeleccionMotivo.addEventListener("change", eventoComboBox); //También podría ser change
//Función eventoComboBox es la función que se encarga de hacer lo que sea al pinchar en el ComboBox...
function eventoComboBox(evento)
{
trace(evento.target.selectedItem.labels);
switch (evento.target.selectedItem.data)
{
case 0:
lblseleccionado.text = "Odontología General"; break;
case 1:
lblseleccionado.text = "Ortodoncia"; break;
case 2:
lblseleccionado.text = "Implantes"; break;
case -1:
lblseleccionado.text = "------OTROS------"; break;
case 3:
lblseleccionado.text = "Estética Dental"; break;
case 4:
lblseleccionado.text = "Ortodoncia Invisible: INVISALIGN."; break;
case 5:
lblseleccionado.text = "Periodoncia"; break;
case 6:
lblseleccionado.text = "Endodoncia"; break;
case 7:
lblseleccionado.text = "Odontopediatría"; break;
case 8:
lblseleccionado.text = "Prótesis Dental"; break;
case 9:
lblseleccionado.text = "Prevención."; break;
default:
break;
}
}
//Función rellenaComboBox encargado de meter todos los elementos del Combo Box.
function rellenaComboBox()
{
trace("cargando combo box");
//El data corresponde con el identificador que tendrá cada especialidad dentro de la base de datos MySQL
especialidades.push({label:"Odontología General",data:0}); //Este será el elemento inicial y el que precarga la función de reiniciarTodo y rbComboBox
especialidades.push({label:"Ortodoncia",data:1});
especialidades.push({label:"Implantes",data:2});
especialidades.push({label:"------OTROS------",data:-1});
especialidades.push({label:"Estética Dental",data:3});
especialidades.push({label:"Ortodoncia Invisible: INVISALIGN.",data:4});
especialidades.push({label:"Periodoncia",data:5});
especialidades.push({label:"Endodoncia",data:6});
especialidades.push({label:"Odontopediatría",data:7});
especialidades.push({label:"Prótesis Dental",data:8});
especialidades.push({label:"Prevención.",data:9});
cbSeleccionMotivo.sortOn(["label", "data"]);
//paisesValue.sortOn("data", Array.NUMERIC);
trace("Combo box cargado completamente...");
cbSeleccionMotivo.dataProvider = especialidades;
}
rbSi.addEventListener("click", eventoRBSI);
//Funcion eventoRBSI (Al pulsar el Radio Button del Si
function eventoRBSI()
{
trace("Es cliente");
desactivarDias();
calendario.enabled = true;
}
rbNo.addEventListener("click", eventoRBNO);
//Funcion eventoRBNO (Al pulsar el Radio Button del NO)
function eventoRBNO()
{
trace("No es cliente");
desactivarDias();
calendario.enabled = true;
}
//Funcion desactivarDias Desactiva del calendario los dias que ya han pasado
function desactivarDias()
{
trace("Desactivando dias pasados... ");
fecha = new Date ();
dhoy= fecha.getDate();
mhoy= fecha.getMonth();
ahoy= fecha.getFullYear();
calendario.disabledRanges = [{rangeEnd: new Date(ahoy-1, mhoy, dhoy)}];
calendario.setStyle("todayColor","0x13D225");
//calendario.setStyle("selectionColor","0x5556F7");
//calendario.setStyle("themeColor","haloBlue");
calendario.setStyle("themeColor","haloOrange");
calendario.setStyle("fontWeight","bold");
calendario.setStyle("fontSize", "12");
}
btnComenzar.addEventListener("click", reiniciarTodo);
//Función Reiniciar Todo...
function reiniciarTodo()
{
//Función que devuelve el formulario al principio
rbSi.enabled = false;
rbNo.enabled = false;
calendario.enabled = false;
rbCombo.selected = false;
rbNoSabe.selected = false;
cbSeleccionMotivo.text = especialidades[0].label;
lblseleccionado.text = "¡Comience por el paso 1!"
trace("desactivamos los dias pasados...");
desactivarDias();
}
rbCombo.addEventListener("click", eventoRBCombo);
//Función eventoRBCombo (Al pulsar el Radio Buttón del ComboBox...
function eventoRBCombo()
{
//Evento que salta al pulsar el Radio Buttón del ComboBox.
lblseleccionado.text = especialidades[0].label; //En nuestro caso debería poner Odontología general que es el primer label que tiene
cbSeleccionMotivo.text = especialidades[0].label;
trace("Pulsa RB del Combo Box");
trace("Activamos el paso 2");
rbSi.enabled = true;
rbNo.enabled = true;
}
rbNoSabe.addEventListener("click", eventoRBNoLoTengoClaro);
//Función eventoRBNoLoTengoClaro (Al pulsar el Radio Button del ComboBox...)
function eventoRBNoLoTengoClaro()
{
//Evento que salta al pulsar el Radio Button de "No lo tengo claro";
lblseleccionado.text = rbNoSabe.label;
trace("Pulsa RB de 'No lo tengo claro'");
trace("Activamos el paso 2");
rbSi.enabled = true;
rbNo.enabled = true;
}