Timing for text as well as images

I was using the following script adapted from a post i found on this site and realized I needed to delay the showing of my dynamic, XML based HTML rendered text untill after the picture had faded.

As it stands this is the scenario…

text and image arive…text changes images fades out new image fades in.

Problem:…

you see the new text which doesnt match the previous image…

How can i trigger the text to appear (alpha?) when the new picture is at a certain alpha say 50%?

pasted below is the script - have tried everything I can think of (which i admit is not probably enough).

delay = 4000;
function loadXML(loaded) {
if (loaded) {
xmlNode = this.firstChild;
image = [];
description = [];
description2 =[];
description3 =[];
link = [];
total = xmlNode.childNodes.length;
for (i=0; i<total; i++) {
image* = xmlNode.childNodes*.childNodes[0].firstChild.nodeValue;
description* = xmlNode.childNodes*.childNodes[1].firstChild.nodeValue;
description2* = xmlNode.childNodes*.childNodes[2].firstChild.nodeValue;
description3* = xmlNode.childNodes*.childNodes[3].firstChild.nodeValue;
link* = xmlNode.childNodes*.childNodes[4].firstChild.nodeValue;
}
firstImage();
} else {
content = “Please refresh your browser. XML was not loaded correctly”;
}
}
xmlData = new XML();
xmlData.ignoreWhite = true;
xmlData.onLoad = loadXML;
xmlData.load(“images.xml”);
p = 0;
function preload(clip) {
picture.loadMovie(clip);
var temp = this.createEmptyMovieClip(“temp”, 9987);
temp.onEnterFrame = function() {
filesize = picture.getBytesTotal();
loaded = picture.getBytesLoaded();
if (filesize>4 && filesize == loaded) {
picture._alpha += 1;
// used to be 10
if (picture._alpha>100) {
picture._alpha = 100;
slideshow();
delete this.onEnterFrame;
}
}
};
}
function nextImage() {
if (p<(total-1)) {
p++;
fadeOut(image[p]);
desc_txt.htmlText = description[p];
desc_txt2.htmlText = description2[p];
desc_txt3.htmlText = description3[p];
}
}
function firstImage() {
picture._alpha = 0;
fadeOut(image[0]);
desc_txt.htmlText = description[0];
desc_txt2.htmlText = description2[p];
desc_txt3.htmlText = description3[p];

}
function slideshow() {
myInterval = setInterval(pause_slideshow, delay);
function pause_slideshow() {
clearInterval(myInterval);
if (p == (total-1)) {
p = 0;
fadeOut§;
firstImage();
} else {
nextImage();
}
}
}
function fadeOut(clip) {
picture.onEnterFrame = function() {
this._alpha -= 1;
if (this._alpha<1) {
preload(clip);
delete this.onEnterFrame;
}
};
}

Any hints, segments, fragments, etc. would be greatly appreciated.