[AS2] Thumbnail loop

Help! I have made a image-viewer. I’ve this AS for the viewer:

import mx.transitions.Tween;
import mx.transitions.easing.*;

function loadXML(loaded) {
	if (loaded) {
		xmlNode = this.firstChild;
		image = [];
		description = [];
		thumbnails = [];
		total = xmlNode.childNodes.length;
		for (i=0; i<total; i++) {
			image* = xmlNode.childNodes*.childNodes[0].firstChild.nodeValue;
			description* = xmlNode.childNodes*.childNodes[1].firstChild.nodeValue;
			thumbnails* = xmlNode.childNodes*.childNodes[2].firstChild.nodeValue;
			thumbnails_fn(i);
		}
		firstImage();
	} else {
		content = "file not loaded!";
	}
}
xmlData = new XML();
xmlData.ignoreWhite = true;
xmlData.onLoad = loadXML;
xmlData.load("images.xml");
/////////////////////////////////////
listen = new Object();
listen.onKeyDown = function() {
	if (Key.getCode() == Key.LEFT) {
		prevImage();
	} else if (Key.getCode() == Key.RIGHT) {
		nextImage();
	}
};
Key.addListener(listen);

previous_btn.onRelease = function() {
	prevImage();
	thumbPrev();

};
next_btn.onRelease = function() {
	nextImage();
	thumbNext();
};
/////////////////////////////////////
p = 0;
this.onEnterFrame = function() {
	filesize = picture.getBytesTotal();
	loaded = picture.getBytesLoaded();
	preloader._visible = true;
	if (loaded != filesize) {
		preloader.preload_bar._xscale = 100*loaded/filesize;
	} else {
		preloader._visible = false;
		if (picture._alpha<100) {
			picture._alpha += 10;
		}
	}
};

function thumbNext() {
	mc = this.thumbnail_mc;
	if (p<total-1) {
		var nieuwsTween:Tween = new Tween(mc, "_x", Strong.easeOut, mc._x, mc._x-170, 0.5, true);
		nieuwsTween.onMotionFinished = function() {
			this.previous_btn.enabled = true;
			this.next_btn.enabled = true;
		};
	}
}

function thumbPrev() {
	mc = this.thumbnail_mc;
	if (p<total-1) {
		var nieuwsTween:Tween = new Tween(mc, "_x", Strong.easeOut, mc._x, mc._x+170, 0.5, true);
		nieuwsTween.onMotionFinished = function() {
			this.previous_btn.enabled = true;
			this.next_btn.enabled = true;
		};
	}
}

function nextImage() {
	if (p<(total-1)) {
		p++;
		if (loaded == filesize) {
			picture._alpha = 0;
			picture.loadMovie(image[p],1);
			desc_txt.text = description[p];
			picture_num();
		}
	}
}
function prevImage() {
	if (p>0) {
		p--;
		picture._alpha = 0;
		picture.loadMovie(image[p],1);
		desc_txt.text = description[p];
		picture_num();
	}
}
function firstImage() {
	if (loaded == filesize) {
		picture._alpha = 0;
		picture.loadMovie(image[0],1);
		desc_txt.text = description[0];
		picture_num();
	}
}
function picture_num() {
	current_pos = p+1;
}

function thumbnails_fn(k) {
	thumbnail_mc.createEmptyMovieClip("t"+k,thumbnail_mc.getNextHighestDepth());
	tlistener = new Object();
	tlistener.onLoadInit = function(target_mc) {
		target_mc._x = hit_left._x+(target_mc._width+5)*k;
		target_mc.pictureValue = k;
		target_mc.onRelease = function() {
			p = this.pictureValue-1;
			nextImage();
		};
		target_mc.onRollOver = function() {
			this._alpha = 50;
		};
		target_mc.onRollOut = function() {
			this._alpha = 100;
		};
	};
	image_mcl = new MovieClipLoader();
	image_mcl.addListener(tlistener);
	image_mcl.loadClip(thumbnails[k],"thumbnail_mc.t"+k);
}

Now i would like to make a loop for the thumbnails so they don’t have a beginning or end. (Now when i scroll to the right the thumbnails stop at the last thumbnail, i want it to begin at the first thumb again).

I’m also trying to make that the middle thumbnail represents the photo in target_mc. Anyone has a idea how i can do that!?

Thanks!
William