[FMX04] XML News Ticker w/2 different text fields?

I went through the XML News Ticker tutorial (works great! thanks–), but I’d like to add a second news ticker text field right beneath the first one that loads its headlines from a different XML file.

So my question is this – (not very XML savy mind you…)

How would I need to adjust the AS code to be able to have both text fields going at the same time? What parts of the AS code can be omitted? (to not have redundant functions) Is there anything I should be aware of that might be cancelling out the second text field from running?

At this point, I can get only one of the tickers working at a time – the other just sits empty.

Thanks for any help – (I’ve pasted in the basic code I’m working with below)

Benjamin

––––––––––––––––––––––––––––––––––––––––––––

// -----------------------------------------------------
// code for promotions headlines
// -----------------------------------------------------

function loadXML(loaded) {

if (loaded) {
    xmlNode = this.firstChild;
    caption = [];
    url = [];
    total = xmlNode.childNodes.length;

for (i=0; i<total; i++) {
    caption* = xmlNode.childNodes*.childNodes[0].firstChild.nodeValue;
    url* = xmlNode.childNodes*.childNodes[1].firstChild.nodeValue;
    }
    first_promosItem();

} else {
    content = "file not loaded!";
}

}

xmlData = new XML();
xmlData.ignoreWhite = true;
xmlData.onLoad = loadXML;
xmlData.load("/blastimages/SP-Portal_movies/Laserpromos.xml?blarg="+new Date().getTime());

//
function first_promosItem() {
delay = 6000;
p = 0;
display§;
p++;
}

function promosTimer() {
myPromosInterval = setInterval(promosTicker, delay);

function promosTicker() {
    clearInterval(myPromosInterval);

if (p == total) {
        p = 0;
    }
    promosFadeout();
    }

}

function display(pos) {

over = new TextFormat();
over.underline = false;
over.color = 0x0099FF;

//
out = new TextFormat();
out.underline = false;
out.color = 0x0066CC;
//
promosMC.promosText._alpha = 100;
promosMC.promosText.text = caption[pos];
promosMC.onRelease = function() {

getURL(url[pos], “_self”);
};

promosMC.onRollOver = function() {
this.promosText.setTextFormat(over);
};

promosMC.onRollOut = function() {
this.promosText.setTextFormat(out);
};

promosTimer();

}
function promosFadeout() {
this.onEnterFrame = function() {

if (promosMC.promosText._alpha>=0) {
    promosMC.promosText._alpha -= 5;

} else {
    display(p);
    p++;
    delete this.onEnterFrame;}
    };

}

// -----------------------------------------------------
// code for news headlines
// -----------------------------------------------------

function loadXML(loaded) {

if (loaded) {
    xmlNode = this.firstChild;
    caption = [];
    url = [];
    total = xmlNode.childNodes.length;

for (i=0; i<total; i++) {
    caption* = xmlNode.childNodes*.childNodes[0].firstChild.nodeValue;
    url* = xmlNode.childNodes*.childNodes[1].firstChild.nodeValue;
    }
    first_newsItem();

} else {
    content = "file not loaded!";
}

}

xmlData = new XML();
xmlData.ignoreWhite = true;
xmlData.onLoad = loadXML;
xmlData.load("/blastimages/SP-Portal_movies/Lasernews.xml?blarg="+new Date().getTime());

//
function first_newsItem() {
delay = 6000;
n = 0;
display(n);
n++;
}

function newsTimer() {
myNewsInterval = setInterval(newsTicker, delay);

function newsTicker() {
    clearInterval(myNewsInterval);

if (n == total) {
        n = 0;
    }
    newsFadeout();
    }

}

function display(pos) {

over = new TextFormat();
over.underline = false;
over.color = 0x0099FF;

//
out = new TextFormat();
out.underline = false;
out.color = 0x0066CC;
//
newsMC.newsText._alpha = 100;
newsMC.newsText.text = caption[pos];
newsMC.onRelease = function() {

getURL(url[pos], “_self”);
};

newsMC.onRollOver = function() {
this.newsText.setTextFormat(over);
};

newsMC.onRollOut = function() {
this.newsText.setTextFormat(out);
};

newsTimer();

}
function newsFadeout() {
this.onEnterFrame = function() {

if (newsMC.newsText._alpha>=0) {
    newsMC.newsText._alpha -= 5;

} else {
    display(n);
    n++;
    delete this.onEnterFrame;}
    };

}

// -----------------------------------------------------