Revolving Loop Thumbnails

I am really close with this code, but I cannot get my variables to pass right. I want the thumbnails to loop continuously, but they jump a value. Can someone please take a look at this? Attached is the fla.


// Tween
var easeType:Function = Strong.easeOut;
var tweenTime:Number = 2;

// Images
var endPoint_x:Array = new Array(-100, 0, 100, 200, 300, 400);
var imgOrder:Array = new Array(this.img1_mc, this.img2_mc, this.img3_mc, this.img4_mc);
var currentImg:Number = 0;
var prevImg:Number = 0;
var tweenRight:Boolean = true;
var reps:Number = 1;

function changeSection(num){
    if (this.prevImg == num) {
        // Do nothing
    } else if (this.currentImg <= num){
        this.currentImg = num;
        this.tweenRight = true;
        this.tweenPos();
    } else {
        this.currentImg = num;
        this.tweenRight = false;
        this.tweenPos();
    }
    trace ("currentImg " + this.currentImg);
}

function tweenPos(Void):Void{
    // Set order
    this.reps = this.currentImg - this.prevImg;
    this.reps = Math.abs(this.reps);
    if (this.reps == 3) {
        this.reps = 1;
    } 
    
    trace("reps " + this.reps);
    this.orderArray();
    
    // Set previous image
    this.prevImg = this.currentImg;
}

function orderArray(){
    var i:Number = 0;
    while (i < this.reps) {
        if (this.tweenRight == true){
            // Right
            this.imgOrder.push(this.imgOrder.shift());
            
            var s1L_tween:Tween = new Tween(this.imgOrder[0], "_x", this.easeType, this.endPoint_x[1], this.endPoint_x[0], this.tweenTime, true);
            var s2L_tween:Tween = new Tween(this.imgOrder[1], "_x", this.easeType, this.endPoint_x[2], this.endPoint_x[1], this.tweenTime, true);
            var s3L_tween:Tween = new Tween(this.imgOrder[2], "_x", this.easeType, this.endPoint_x[3], this.endPoint_x[2], this.tweenTime, true);
            var s4L_tween:Tween = new Tween(this.imgOrder[3], "_x", this.easeType, this.endPoint_x[4], this.endPoint_x[3], this.tweenTime, true);
        } else {
            // Left
            this.imgOrder.unshift(this.imgOrder.pop());
            
            var s0L_tween:Tween = new Tween(this.imgOrder[0], "_x", Strong.easeOut, this.endPoint_x[1], this.endPoint_x[2], this.tweenTime, true);
            var s1L_tween:Tween = new Tween(this.imgOrder[1], "_x", Strong.easeOut, this.endPoint_x[2], this.endPoint_x[3], this.tweenTime, true);
            var s2L_tween:Tween = new Tween(this.imgOrder[2], "_x", Strong.easeOut, this.endPoint_x[3], this.endPoint_x[4], this.tweenTime, true);
            var s4L_tween:Tween = new Tween(this.imgOrder[3], "_x", Strong.easeOut, this.endPoint_x[0], this.endPoint_x[1], this.tweenTime, true);
        }
        i++;
    }
}

// Set menu buttons