Fade image in and out over changing dynamic text from XML

What I am trying to do is to show the next three events for our club from an XML file, displaying them over a background image in a small looping Flash anim.

I have placed an image at the bottom, three dynamic text boxes on the layer above and I know that to get a fade effect using dynamic text , I have to place an image above the dynamic text layer so that is what I have done. As ever I am adapting code - this mainly from a fading slideshow.

This code loads the XML
[INDENT]stop();
var picArray:Array = new Array(); //array to hold the text
var thisNode:XMLNode = new XMLNode();
var arrPosition:Number = -1;
var xmlFile:String = “nextev.xml” ;//location of xmlfile
var imageXML:XML = new XML();
imageXML.ignoreWhite = true;
imageXML.onLoad = function(success:Boolean) {
for(var i:Number = 0;i<imageXML.firstChild.childNodes.length;i++) {
thisNode = imageXML.firstChild.childNodes*;
picArray.push([thisNode.attributes.evname,thisNode.attributes.evwhen,thisNode.attributes.evwhere ]);
}
delete imageXML;
play();
}
imageXML.load(xmlFile);
[/INDENT]In the next frame I am trying to use the tween class to make the top image fade in so as to cover the text while the next set of array values populate the boxes.
[INDENT]stop();

// Import classes required for tweening
import mx.transitions.;
import mx.transitions.easing.
;
// Init variables
var tweenTime:Number = 1; //time to fade
pic1._alpha = 1;
waitState = false;

    var tween1:Tween = new Tween(pic1, "_alpha", Regular.easeIn, 1, 100 , tweenTime, true);
    //loop back to the first event data after hitting the end
    
    if(++arrPosition &gt; picArray.length) {arrPosition = 0;};
    
    tween1.onMotionFinished = function() {
        eventname.text = picArray[arrPosition][0];
       eventwhen.text =  picArray[arrPosition][1];
       eventplace.text =  picArray[arrPosition][2];
       arrPosition = ++arrPosition;
              gotoAndStop(_currentframe+1); 
        }

[/INDENT]Frame 3 is supposed to fade the covering image down and then wait for the showpicTime to elapse before going back to the fade up/data change of Frame 2
[INDENT]stop();
import mx.transitions.;
import mx.transitions.easing.
;
var showpicTime:Number = 4; //number of seconds to hide the pic between fades
var tweenTime:Number = 1; //time to fade
var tween2:Tween = new Tween(pic1, “_alpha”, Regular.easeIn, 100, 1 , tweenTime, true);

startTime= (getTimer()/1000);
 if (showpicTime&gt;=(getTimer()/1000)-startTime) {
     tween2.onMotionFinished = function() {
        gotoAndStop(2);};
       } else {
        // Keep waiting...
       };

[/INDENT]The trouble is that when it runs there is a pause before the second item in the XML list appears, then it says undefined for all three text boxes and on the next loop it then alternates between the first item n the xml and the last. Also it is not holding the event information up for the required 4 seconds!

my xml is <?xml version=“1.0”?><infos><event evname = “Fiesta Sailing” evwhen = “10am Sun 6th Apr” evwhere = “Landing Stage” /><event evname = “General Discussion” evwhen = “8pm Wed 9th Apr” evwhere = “Clubhouse” /><event evname = “Club 500” evwhen = “7pm Wed 16th Apr” evwhere = “Landing Stage” /></infos>