var numberOfImages = 3;
var moving = false;
var showImages = new Array();
var intervalObj;
var startingPoint = "2230px";
var step = 1;
/* 
	Die Funktion erstellt einen Array, in welchem sie eine Referenz zu allen Bilder speichert,
	die an der Bwegung teilnehmen sollen.
*/
function getShowElements() {

	for (i = 0; i < numberOfImages; i++) {
		if (document.getElementById('show' + i)) {
			showImages[showImages.length++] = document.getElementById('show' + i);
		}
	}

}

/* 
	Diese Funktion Startet die Bewegung der Bilder, sie ruft alle weiteren notwendigen Funktionen
	auf.
*/
function setMovement() {
	getShowElements();
	
	intervalObj = window.setInterval("move(showImages, intervalObj)", 100);
	moving = true;
}

/* 
	Diese Funktion bewegt das übergebene Eelement um einen Pixel nach links. Allerdinfs nur, wenn
	sich selbiges noch nicht völlig links aus dem Bilde ist. Ist dies der Fall, wird das Element
	zurück auf seine Anfangsposition gesetzt.
*/
function move(element, interval) {

	if (!element || ! element.length) {
		return;
	}
	for (i = 0; i < element.length; i++) {
		var elementPosition = Number(element[i].style.left.substring(0, element[i].style.left.indexOf("px")));
		/* Die Bilder werden um einen Pixel nach links verschoben, allerdings nur,
			 wenn sie noch nicht vollständig aus dem Bild gefahren sind. Ist dies der Fall,
			 so werden die Bilder auf die Anfangsposition gesetzt.*/
		if ((elementPosition +10 ) > (-1 * element[i].width)) {
			element[i].style.left = elementPosition - step + "px";
		} else {
			element[i].style.left = startingPoint;
		}	
	}
	
}

/* 
	 Diese Funktion dient der Steuerung der bewegten Bilder. Wird sie aufgerufen, während die
	 Bilder gerade in Bewegung sind, werden die Bilder gestopt, stehen sie gerade still,
	 dann werden sie in Bewegung versetzt.
*/
function controlMovement() {
	if (moving) {
		window.clearTimeout(intervalObj);
		moving = false;
	} else {
		setMovement();
	}
}
