AS 2.0/XML Menu

As I have perused the forums for a possible solution to this issue, I have come up empty (either due to poor search phrasing or no one tried to do this, or just ineptitude on my part).

I, like many others posting for dynamic menu creation, used the tutorial supplied by senocular. The project worked just fine for me when using urls and opening up pages external to the flash application. Now what I am attempting to do is control the timeline as opposed to opening a web page (I am sure this is simple but I just seem to be missing a key idea). Below is the AS code that I am using. I also must note that I am not very proficient with AS coding and syntax (am a convert from VB and asp, flash/flex/CF much prettier solution).

 
stop();
menu_xml = new XML();
menu_xml.ignoreWhite = true;
menu_xml.onLoad = function(ok){
 if (ok){
  Createmainmenu(10, 110, 0, this);
 }
};
menu_xml.load("menu.xml");
Createmainmenu = function(x, y, depth, menu_xml){
 GenerateMenu(this, "mainmenu_mc", x, y, depth, menu_xml.firstChild);
 mainmenu_mc.onMouseUp = function(){
  if (mainmenu_mc.submenu_mc && !mainmenu_mc.hitTest(_root._xmouse, _root._ymouse, true)){
   CloseSubmenus();
  }
 };
};
CloseSubmenus = function(){
 mainmenu_mc.submenu_mc.removeMovieClip();
};
GenerateMenu = function(container, name, x, y, depth, node_xml) {
 var curr_node;
 var curr_item;
 var curr_menu = container.createEmptyMovieClip(name, depth);
 for (var i=0; i<node_xml.childNodes.length; i++) {
  curr_item = curr_menu.attachMovie("menuitem","item"+i+"_mc", i);
  curr_item._x = x;
  curr_item._y = y + i*curr_item._height;
  curr_item.trackAsMenu = true;
  curr_node = node_xml.childNodes*;
  curr_item.action = curr_node.attributes.actions;
  curr_item.variables = curr_node.attributes.variables;
  curr_item.name.text = curr_node.attributes.name;
  if (node_xml.childNodes*.nodeName == "menu"){
   curr_item.node_xml = curr_node;
   curr_item.onRollOver = curr_item.onDragOver = function(){
    var x = this._x + this._width - 5;
    var y = this._y + 5;
    GenerateMenu(curr_menu, "submenu_mc", x, y, 1000, this.node_xml);
    var col = new Color(this.background);
    col.setRGB(0x666666);
   };
  }else{
   curr_item.arrow._visible = false;
   curr_item.onRollOver = curr_item.onDragOver = function(){
    curr_menu.submenu_mc.removeMovieClip();
    var col = new Color(this.background);
    col.setRGB(0x666666);
   };
  }
 
  curr_item.onRollOut = curr_item.onDragOut = function(){
   var col = new Color(this.background);
   col.setTransform({ra:100,rb:0,ga:100,gb:0,ba:100,bb:0});
  };
  curr_item.onRelease = function(){
   Actions[this.action](this.variables);
   CloseSubmenus();
  };
 }
};
Actions = Object();
Actions.gotoAndStop = function(keyVar){
 trace(keyVar);
 _root.gotoAndStop(this.keyVar);
};
Actions.message = function(msg){
 message_txt.text = msg;
};
Actions.newMenu = function(menuxml){
 menu_xml.load(menuxml);
};

As you may have noted, this is straight from the tutorial with the exception of my attempt to change the actions function (unsuccessfully I might add) the trace line in the function does return the variable in the output window, but the timeline does not move to the designated index (keyVar).

Would anyone out there be willing to give some input into a newb AS coder? Thanks beforehand.