Function buttonClick not responding to onPress event

I’m building navigation that reads an XML file, creates a button array, and then assigns an image, link and label to each button. A onRelease action is attached to each button. A Release event calls a function “buttonClick” which should load a new swf file. The problem is the button does not respond.

This is my first AS site, and I just can’t seem to get my mind around what’s happening (or not happening) here.

If you can help, I would really appreciate it.

I am using Flash 8 and AS 2

this at buttonClick = _level0
target_mc is _level0.masterClip.mainNavClip.buttonHolderClip.navButton*

Here is abbreviated code. Working code is attached as a zip (I hope).
// <----- MAIN NAVIGATION
// <
// <
// total # of buttons & headers
//
var nButtons:Number = label_array.length;
trace ("Number of Buttons = " + nButtons);
//var buttonImageLoader:MovieClipLoader = new MovieClipLoader ();
//var buttonImageListener:Object = new Object ();

// create buttonHolders
//
for (var i:Number = 0; i &lt; nButtons; i++) {
	// For each button node create a MovieClip, "buttonHolder*" 
	// Tag with unique identifier i and Assign depth = i
	//
	buttonHolderClip.createEmptyMovieClip ("navButton" + i, i);
	// Create a variable to use as a handle the new button 
	//
	var navButton:MovieClip = buttonHolderClip["navButton" + i];
	trace ("navButton* = " + buttonHolderClip["navButton" + i]);
	
	// load button images
	//
	buttonImageLoader.loadClip (image_array*, navButton);
		
	
	// Create buttonImage inside navButton to receive
	// button images
	//
	var id:Number = navButton.getNextHighestDepth();
	var buttonImage:MovieClip = navButton.createEmptyMovieClip(buttonImageHolder, id);
	buttonImage._x = 0;
	buttonImage._y = 0;
	
	
	// Create buttonLabel inside navButton to receive
	// button labels
	//
	var id:Number = navButton.getNextHighestDepth();
	var buttonLabel:MovieClip = navButton.createEmptyMovieClip(buttonLabelHolder, id);
	buttonLabel._x = 0;
	buttonLabel._y = 0;
	
	
	trace("navButton ="+navButton);
	
	// This code is called for each value of "i" by imageListener 
	// when the corresponding button image has completely loaded
	// which effectively couples it into the "for" loop
	//
	buttonImageListener.onLoadInit = function (target_mc:MovieClip) {
		trace ("buttonImageListener Invoked");
		
		// Attach variable linkURL to target_mc movie clip.  
		//
		target_mc.linkURL = link_array[nCounter];
		trace ("target_mc is " + target_mc);
		trace ("target_mc link is " + target_mc.linkURL);
		
		trace("this at onPress ="+this);
		trace("root at onPress ="+_root);
		
		// Button press calls buttonClick function
		//
		target_mc.onPress = _level0.buttonClick;
		
		
		// layout button on stage
		// Use hard coded numbers if button image is not used
		// set to target_mc values if image is used
		//
		var navButtonHeight:Number = 16;
		var navButtonWidth:Number = 120;
		
		if (label_array[nCounter] == "ABOUT") {
			target_mc._y = navButtonHeight * nCounter + 5;
		} else {
			if (label_array[nCounter] == "PRACTICE" || label_array[nCounter] == "PORTFOLIO" || label_array[nCounter] == "CLIENTS" || label_array[nCounter] == "CONTACT") {
			target_mc._y = navButtonHeight * nCounter + 8;
			} else {
				target_mc._y = navButtonHeight * nCounter + 8;
			}
		}
		
		trace ("Button yPosition" + nCounter + " = " + target_mc._y);
		
		// Add text field for button label
		//
		var buttonText:TextField = target_mc.createTextField ("buttonLabelField", nCounter + 100, 0, 0, 100, 16);
		buttonText.html = true;
		buttonText.align = left;
		buttonText.border = true;
		buttonText.selectable = false;
		buttonText.multiline = false;
		buttonText.wordWrap = false;
		buttonText.embedFonts = true;
		buttonText.antiAliasType = "advanced";
		buttonText.styleSheet = flashStyles;
		if (label_array[nCounter] == "PRACTICE" || label_array[nCounter] == "ABOUT" || label_array[nCounter] == "PORTFOLIO" || label_array[nCounter] == "CLIENTS" || label_array[nCounter] == "NEWS" || label_array[nCounter] == "CONTACT") {
			buttonText.htmlText = "&lt;span class='navHead'&gt;" + label_array[nCounter] + "&lt;/span&gt;";
		} else {
			if (label_array[nCounter] == "Expertise" || label_array[nCounter] == "Industry") {
				buttonText.htmlText = "&lt;span class='navSubHead'&gt;" + label_array[nCounter] + "&lt;/span&gt;";
			} else {
				buttonText.htmlText = "&lt;a href='target_mc.linkURL'&gt;" + label_array[nCounter] + "&lt;/a&gt;";
			}
		}
		trace ("buttonText is =" + label_array[nCounter]);
		trace ("Active link = " + target_mc.linkURL);
	
		nCounter += 1;
	 
	}

}
	
	buttonImageLoader.addListener(buttonImageListener);
	
	trace("&gt;&gt;&gt;&gt;&gt;");
	trace("this at buttonClick = "+this);
	trace("&gt;&gt;&gt;&gt;&gt;");
	
	
	// Event handlers
	//
	function buttonClick():Void {
		trace("$$$$$$$$$$");
	}