How make button perform action?

I have made 4 dynamic mc buttons which I would like to display dynamic images through the same pictureholder movieclip. My problem is that I can’t make the 4 buttons do the action needed to load and display the images.

Here’s the script I have for the frame in which the symbols are located:

[COLOR=“DarkOrange”]menu = new Array();
menu[0] = “button1”;
menu[1] = “button2”;
menu[2] = “button3”;
menu[3] = “button4”;
menu[4] = “button5”;
menu[5] = “button6”;
menu[6] = “button7”;
menu[7] = “button8”;
menu[8] = “button9”;
menu[9] = “button10”;
menu[10] = “button11”;
menu[11] = “button12”;

function select(n)
{
for(i=0; i<menu.length; i++)
{
_root[menu*].gotoAndStop(“up”);
}

_root[menu[n]].gotoAndStop("active");

}[/COLOR]

And here’s the action for the button to make it change it’s state:

[COLOR=“DarkOrange”]onClipEvent(load)
{
this.Label.text = “Project 1”;

this.onRelease = function(){
	_root.select(0);
}

}[/COLOR]

All this works fine. The problem is to make the final script work; the script to make the buttons load the external images and text after the buttons have been clicked. This script also works fine as long as I place it in a frame and tell the button to go to that specific frame. But I want all buttons to use the same buttons, picture placeholder, next/previous button (e.g. the same frame instead of having to go to different frames for every button).
Here’s the final script that needs to be stiched together with the other scripts:

[COLOR=“DarkOrange”]function loadXML(loaded) {
if (loaded) {
xmlNode = this.firstChild;
image = [];
description = [];
total = xmlNode.childNodes.length;
for (i=0; i<total; i++) {
image* = xmlNode.childNodes*.childNodes[0].firstChild.nodeValue;
description* = xmlNode.childNodes*.childNodes[1].firstChild.nodeValue;
}
firstImage();
} else {
content = “file not loaded!”;
}
}
xmlData = new XML();
xmlData.ignoreWhite = true;
xmlData.onLoad = loadXML;
xmlData.load(“1/images.xml”);
/////////////////////////////////////
listen = new Object();
listen.onKeyDown = function() {
if (Key.getCode() == Key.LEFT) {
prevImage();
} else if (Key.getCode() == Key.RIGHT) {
nextImage();
}
};
Key.addListener(listen);
previous_btn.onRelease = function() {
prevImage();
};
next_btn.onRelease = function() {
nextImage();
};
/////////////////////////////////////
p = 0;
this.onEnterFrame = function() {
filesize = picture.getBytesTotal();
loaded = picture.getBytesLoaded();
preloader._visible = true;
if (loaded != filesize) {
preloader.preload_bar._xscale = 100*loaded/filesize;
} else {
preloader._visible = false;
if (picture._alpha<100) {
picture._alpha += 10;
}
}
};
function nextImage() {
if (p<(total-1)) {
p++;
if (loaded == filesize) {
picture._alpha = 0;
picture.loadMovie(image[p], 1);
desc_txt.text = description[p];
picture_num();
}
}
}
function prevImage() {
if (p>0) {
p–;
picture._alpha = 0;
picture.loadMovie(image[p], 1);
desc_txt.text = description[p];
picture_num();
}
}
function firstImage() {
if (loaded == filesize) {
picture._alpha = 0;
picture.loadMovie(image[0], 1);
desc_txt.text = description[0];
picture_num();
}
}
function picture_num() {
current_pos = p+1;
pos_txt.text = current_pos+" / "+total;
}stop();
}[/COLOR]

I have attached the files.