Rapid clicking - problem with the gallery

Can someone tell me why rapid clicking (moving to another part of the gallery) makes the loader loads the wrong picture?
Here is a simple example:


var req:URLRequest=new URLRequest("gallery.xml");
var xmlLoader:URLLoader=new URLLoader(req);
xmlLoader.addEventListener(Event.COMPLETE, xmlComplete);
var myXML:XML;
var urlArray:Vector.<String> = new Vector.<String>();
var i:int;
var page:int;
var xmlIndex:int;
var wallIndex:int;
var loader:Loader = new Loader();
 
loader.contentLoaderInfo.addEventListener(Event.COMPLETE, picComplete);
function xmlComplete(e:Event):void {
    myXML=XML(xmlLoader.data);
    for (i=0; i<myXML.children().length(); i++) {
        urlArray*=myXML.@objPath+myXML.child(i).@objUrl;
        trace(urlArray*);
    }
    req.url=urlArray[0];
    loader.load(req);
}
 
function picComplete(e:Event):void {
    if (wallIndex<4) {
        var image:Bitmap=new Bitmap(e.target.content.bitmapData);
        container.addChild(image);
        image.y=wallIndex*80;
        wallIndex++;
        xmlIndex++;
        req.url=urlArray[xmlIndex];
        loader.load(req);
    } else {
        wallIndex=0;
    }
}
 
l.addEventListener(MouseEvent.CLICK, goL, false, 1);
r.addEventListener(MouseEvent.CLICK, goR, false, 1);
 
function goL(e:Event):void {
    if (page-1>=0) {
        wallIndex=0;
        while (container.numChildren) {
            container.removeChildAt(0);
        }
        page-=1;
        xmlIndex=page*4;
        req.url=urlArray[xmlIndex];
        loader.load(req);
    }
}
 
function goR(e:Event) {
    if (page+1<5) {
        wallIndex=0;
        while (container.numChildren) {
            container.removeChildAt(0);
        }
        page+=1;
        xmlIndex=page*4;
        req.url=urlArray[xmlIndex];
        loader.load(req);
    }
}