Multiple xml galleies, each in a movie clip

Hi i am trying to use a code i had for xml image gallery. only that this time i am trying to make a site with a few galleries each in a different movie clip but in the same scene. the first one works great but when i try to add the second one the thumbnails goes all mixed up. here is the code i use:

[AS]
stop();
function loadXML(loaded) {
if (loaded) {
xmlNode = this.firstChild;
image = [];
description = [];
thumbnails = [];
_global.total = xmlNode.childNodes.length;
for (i=0; i<total; i++) {
image* = xmlNode.childNodes*.childNodes[0].firstChild.nodeValue;
description* = xmlNode.childNodes*.childNodes[1].firstChild.nodeValue;
thumbnails* = xmlNode.childNodes*.childNodes[2].firstChild.nodeValue;
thumbnailer(i);
}
firstImage();
} else {
trace(“file not loaded!”);
}
}
xmlData = new XML();
xmlData.ignoreWhite = true;
xmlData.onLoad =loadXML;
xmlData.load();
xmlData.load(“art.xml”);
/////////Load First Image Function///////////////////////////////////////////////
function firstImage() {
if (loaded == filesize) {
picture._alpha = 0;
picture.loadMovie(image[0], 1);
desc_txt.text = description[0];
}
}
/////////Image Preloader Function//////////////////////////////////////////////////////
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;
}
}
};
//////////Load clicked thumbnail Image Function////////////////////////////////////////////////
function callImage() {
if (loaded == filesize) {
picture._alpha = 0;
picture.loadMovie(image[p], 1);
desc_txt.text = description[p];
}
}
//////////Thumbnail maker///////////////////////////////
function thumbnailer(k){
loaded_counter=0;
total_thumbs = _global.total;
var container = thumbnail_mc.createEmptyMovieClip(“th”+k,thumbnail_mc.getNextHighestDepth());
container._visible=false;
container._alpha=0;
var image = container.createEmptyMovieClip(“img”, container.getNextHighestDepth());
tlistener = new Object();
tlistener.onLoadInit = function(target_mc) {
target_mc.pictureValue = k;
target_mc.onRollOver = function() {
p = this.pictureValue;
callImage();
this._alpha = 50;
};
target_mc.onRollOut = function() {
this._alpha = 100;
};
loaded_counter++;
counting_txt = loaded_counter;
if(loaded_counter==total_thumbs){
grid_maker_01();
}
};
image_mcl = new MovieClipLoader();
image_mcl.addListener(tlistener);
image_mcl.loadClip(thumbnails[k], “thumbnail_mc.th”+k+".img");
}
///////////Layout Functions/////////////////////////////////////////////////////////////////////
MovieClip.prototype.grid_maker_01=function(f){
num=0;
col=3;
row=7;
scale=75;
space=5;
for (j=0;j<row;j++){
for (l=0;l<col;l++){
if(num<_global.total){
with(eval(“this.thumbnail_mc.th”+num)){
_x=((_width+space)*scale/100)*l;
_y=((_height+space)*scale/100)*j;
_xscale=_yscale=scale;
_visible=true;
}
num++;
}
}
}
this.cascader();
}
//////////////////////////////////////////////////////////////////////////////////
MovieClip.prototype.cascader=function(){
inter=100;
c=0;
delayed_fade=function(){
if (c<_global.total){
with(eval(“this.thumbnail_mc.th”+c)){
fadein();
}
c++;
}else{
main_menu.boton_reset._visible=true;
clearInterval(delay);
}
}
delay=setInterval(delayed_fade,inter);
}
///////////////////////////////////////////////////////////////////////////////
MovieClip.prototype.fadein=function(){
this.onEnterFrame=function(){
if (this._alpha<100){
this._alpha=this._alpha+5;
}else{
this._alpha=100;
delete this.onEnterFrame;
}
}
}
///////////////////////////////////////////////////////////////////////////////////////

[/AS]