Infinite scroller not wrapping around

Hi all,

I’ve got a infinite scroller (adjusted one of scotty’s) and it’s not wrapping around i.e there’s a gap in the images, the last image kinda blinks at a certain point.

I’ve attached the files, it’s probably something quite simple but i cant see it.

Here’s the script:


spacing = 0;
containerMC._alpha = 100;
pArray = new Array();
pictArray = new Array();
MovieClip.prototype.loadPic = function(pic) {
    this._alpha = 0;
    this.loadMovie(pArray[pic]);
    this._parent.onEnterFrame = function() {
        var t = containerMC.getBytesTotal(), l = containerMC.getBytesLoaded();
        bar._visible = 1;
        per = Math.round((l/t)*100);
        if (t != 0 && Math.round(l/t) == 1 && containerMC._width != 0) {
            var w = containerMC._width+spacing, h = containerMC._height+spacing;
            border.resizeMe(w, h);
            bar._visible = 0;
            delete this.onEnterFrame;
        } else {
            bar._width = per;
        }
    };
};
MovieClip.prototype.resizeMe = function(w, h, pic) {
    var speed = 1;
    this.onEnterFrame = function() {
        this._width += (w+this._width)/speed;
        this._height += (h+this._height)/speed;
        if (Math.abs(this._width-w)<1 && Math.abs(this._height-h)<1) {
            this._width = w;
            this._height = h;
            containerMC._x = this._x-this._width/2+spacing/2;
            containerMC._y = this._y-this._height/2+spacing/2;
            containerMC._alpha = 100;
            delete this.onEnterFrame;
        }
    };
};
my_xml = new XML();
my_xml.ignoreWhite = true;
my_xml.onLoad = function(success) {
    if (success) {
        for (var i = 0; i<this.firstChild.childNodes.length; i++) {
            pictArray.push(this.firstChild.childNodes*.attributes.thumb);
            linkArray.push(this.firstChild.childNodes*.attributes.links);
            pArray.push(this.firstChild.childNodes*.attributes.image);
            
        }
    }
    delay = setInterval(makeMenu, 100);
};

my_xml.load(_root.myname);
var menu = this.createEmptyMovieClip("menu_tot", 99);
menu.setMask(mask);
var sub_menu = menu.createEmptyMovieClip("menu", 100);
var p = 0;
var q = 0;
var loadper = 0;
function makeMenu() {
    clearInterval(delay);
    var item = sub_menu.createEmptyMovieClip("pic"+q, q);
    item.loadMovie(pictArray[p]);
    var temp = _parent.createEmptyMovieClip("tmp", 9999+q);
    temp.onEnterFrame = function() {
        var tot = item.getBytesTotal();
        var loa = item.getBytesLoaded();
        var per = Math.round(((loa/tot)*100)/(pictArray.length*2));
        loadBar._xscale = loadper+per;
        if (tot == loa && tot>4) {
            item.id = p;
            loadper += per;
            if (q>0) {
                item._x = sub_menu["pic"+(q-1)]._x+sub_menu["pic"+(q-1)]._width;
            } else {
                item._x = 0;
            }
            item.onRelease = function() {
                containerMC.loadPic(this.id);
            };
            nextItem();
            delete this.onEnterFrame;
        }
    };
}
var amount = pictArray.length-1;
function nextItem() {
    if (q<((pictArray.length*2)-1)) {
        q++;
        if (p<(pictArray.length-1)) {
            p++;
            makeMenu();
        } else {
            p = 0;
            makeMenu();
        }
    } else {
        activateMenu();
    }
}
var center = Stage.width/2;
var speed = .02;
function activateMenu() {
    containerMC.loadPic(0);
    menu.onEnterFrame = function() {
        var distance = _root._xmouse-center;
        if (mask.hitTest(_root._xmouse, _root._ymouse)) {
            this._x += (distance*speed);
            if (this._x<-sub_menu._width/2) {
                this._x = 0;
            }
            if (this._x>0) {
                this._x = -sub_menu._width/2;
            }
        }
    };
}

Thanks