XML stops loading for Firefox and Safari

Has anyone encountered this problem? I load images from an XML file and sometimes everything would load up just fine, but there are times when flash would stop loading in the middle of my my list…

here is the page i’m working on
http://www.teammanilalifestyle.com/lomoembassymanila/products

On firefox, all items usually would load up all the time but there are occassions where it would only load 3 out of 8 or some anywhere before it’s suppose to finish. If you keep hitting refresh on the link i posted, you’ll see. its even worse on safari since it would seldom load the whole thing… never had a problem with IE though.

here is the code im working on

var productHolder:MovieClip = productHolder_mc;
var bannerHolder:MovieClip = bannerHolder_mc;
var paginationHolder:MovieClip = paginationHolder_mc;
var whatIsaLoading:String = "";
var tracker:Number = 0;
var currentPage:Number = 0;
var howManyPages:Number = 0;
var howManyImages:Number = 0;
var productID:Array = new Array();
var productUrl:Array = new Array();
var productImg:Array = new Array();
var productName:Array = new Array();
var productPrice:Array = new Array();

/* -------------------- Aligning and positioning eleme bts -------------------- */
productHolder._x = 0;
productHolder._y = 0;
bannerHolder._x = 0;
bannerHolder._y = 335;

/* -------------------- Load XML and execute parser -------------------- */
var productSlideshow:XML = new XML();
productSlideshow.ignoreWhite = true;
productSlideshow.onLoad = function(success) {
    if (success) {
        parseGalleries();
    }
};
productSlideshow.load("http://www.teammanilalifestyle.com/lomoembassymanila/xml/" + _root.prodtype + "1.xml");


/* -------------------- MovieClipLoader & Listener -------------------- */
var loader:MovieClipLoader = new MovieClipLoader();
var Listener:Object = new Object();

loader.addListener(Listener);

Listener.onLoadInit = function(target:MovieClip) {
    target._alpha = 0;
    fadeIn();
    tracker++;
    if (tracker<howManyImages) {
        loadThumbnail();
    }  
};
Listener.onLoadProgress = function(starget:MovieClip, loaded:Number, total:Number) {
    percent = Math.floor(loaded/total*100);
    currentImage.preloader._visible = true;
};

function fadeIn():Void {
    target.onEnterFrame = function():Void  {
        this._alpha += 5;
        if (this._alpha>=100) {
            delete this.onEnterFrame;
            currentImage.preloader._visible = false;
            this._alpha = 100;
        }
    }
};


/* -------------------- Start of functions and code -------------------- */
function parseGalleries():Void {
    productID.length = 0
    productImg.length = 0
    productUrl.length = 0
    productName.length = 0
    productPrice.length = 0
    howManyImages = 0;
    tracker = 0;
    
    if (productSlideshow.firstChild.nodeName == "product") {
        var rootNode:XMLNode = productSlideshow.firstChild;
        
        imageDisplayer = productHolder.createEmptyMovieClip("thumbsDisplayer_mc", productHolder.getNextHighestDepth());
        paginationDisplayer = paginationHolder.createEmptyMovieClip("paginationDisplayer_mc", paginationHolder.getNextHighestDepth());
        
        bannerHolder.onRelease = function() {
            getURL("/lomoembassymanila/");
        }
        bannerHolder.loader_mc.loadMovie("/lomoembassymanila/img/elements/banner1.jpg");
        
        currentPage = rootNode.attributes.page;
        howManyPages = rootNode.attributes.total;
        howManyImages = rootNode.childNodes.length;
        
        for (i=0; i<rootNode.childNodes.length; i++) {
            if (rootNode.childNodes*.nodeName == "item") {
                currentProduct = rootNode.childNodes*;
                productID.push(currentProduct.attributes.id);
                productImg.push(currentProduct.attributes.img);
                productUrl.push(currentProduct.attributes.url);
                productName.push(currentProduct.attributes.name);
                productPrice.push(currentProduct.attributes.price);
            }
        }
        
        loadThumbnail();
        loadPagination(howManyPages);
    }
}

function loadThumbnail() {
    currentImage = imageDisplayer.attachMovie("product holder", "thumbnail"+(tracker+1), imageDisplayer.getNextHighestDepth());
    target = currentImage.loader_mc;
    
    currentImage._x = (tracker%4)*189;
    if(tracker < 4)
        currentImage._y = 0;
    else
        currentImage._y = 150;
    
    currentImage.nametxt.html = true;
    currentImage.nametxt.htmlText = productName[tracker] + " <font color='#e5e5e5'>P" + productPrice[tracker] + "</font>";
    imgPath = productImg[tracker];
    target.loadMovie(productImg[tracker],1);
    loader.loadClip(imgPath, target);
    
    currentImage.onRelease = function() {
        getURL("/lomoembassymanila/products/" + _root.prodtype + "/" + productUrl[this._name.substr(9)-1]);
    }
}

function loadPagination(numberOfPages:Number) {
    for (i=0; i<numberOfPages; i++) {
        currentPagination = paginationDisplayer.attachMovie("pagination holder", "page"+(i+1), paginationDisplayer.getNextHighestDepth());
        currentPagination._x = i*25;
        currentPagination._y = 0;
        currentPagination.pagetxt.text = i+1;
        
        currentPagination.onRelease = function() {
            removeMovieClip(imageDisplayer);
            productSlideshow.load("http://www.teammanilalifestyle.com/lomoembassymanila/xml/" + _root.prodtype + this._name.substr(4) +".xml");
        }
    }
}

I would really appreciate it if anybody could shed some light on why this is happening. thanks!