	var singleElementWidth = 145;
	var deadSpace = 5;	//	When a container is smaller than the totalWidth required for the number of visible elements therein, deadSpace is number of pixels container lacks.
						//	For example: A container holds a total of 10 images, 3 images are visible at a time and each image has a width of 50px. Because each image also has a rightPadding of 10, the container is as wide as 3 times the total image width minus 10 to compensate for the last rightPadding. In other words 3 * 60 = 180, -10 = 170. deadSpace is the difference between the 180 and 170, in this case 10.
	var container = 'showcase_images_container';
	var movingElementsDiv = 'showcase_images';

	var strafing;

	function moveLeft (id) {
		if (!strafing) {
			var movingDiv;
			var movingDivContainer;
			if (id) {
				movingDiv = document.getElementById(movingElementsDiv +'_'+ id);
				movingDivContainer = document.getElementById(container + '_' + id);
			} else {
				movingDiv = document.getElementById(movingElementsDiv);
				movingDivContainer = document.getElementById(container);
			}
			movingDivContainer.style.position = 'relative';
			var x = parseInt($(movingDiv).getStyle('left'));
			//	X
			if (!x) {
				x = 0;
			}
			//	Get images (divs)
			var divs = movingDiv.getElementsByTagName('div');
			var images = new Array();
			for (var i = 0; i < divs.length; i++) {
				if (divs[i].className == 'moving_image') {
					images.push(divs[i]);
				}
			}
			//var images = movingDiv.getElementsByClassName('moving_image');
			
			//var maxWidthTotal = (images.length) * (singleElementWidth + singleElementGapWidth) - singleElementGapWidth;
			var maxWidthTotal = (images.length) * singleElementWidth;
			//alert(maxWidthTotal +' > '+ movingDivContainer.offsetWidth);
			if (maxWidthTotal > movingDivContainer.offsetWidth) {
				//	remainingWidth = maxWidthTotal - width of visible part. Example: A container with 600px containing images with total width 1000 px has a remainingWidth of 400px;
				var remainingWidth = maxWidthTotal - movingDivContainer.offsetWidth - deadSpace;
				//	Only if x is larger than the remainingWidth in negative move the slider further
				//alert(x +' > '+ -remainingWidth);
				if (x > -remainingWidth) {
					//	Div has not yet slided all the way to the right
					//	Determine how many pixels div should move to the right
					var px = x % singleElementWidth;
					if (px == 0) {
						px = singleElementWidth;
					}
					//	Move
					//new Effect.MoveBy(movingDiv, 200, 0);
					//new Effect.MoveBy(movingDiv, { x: -(px), y: 0 });
					strafing = true;
					new Effect.Move(movingDiv, { x: -(px), y: 0, afterFinish: strafeFinished });
				}
			}
		}
	}

	function moveRight (id) {
		if (!strafing) {
			var movingDiv;
			var movingDivContainer;
			if (id) {
				movingDiv = document.getElementById(movingElementsDiv +'_'+ id);
				movingDivContainer = document.getElementById(container + '_' + id);
			} else {
				movingDiv = document.getElementById(movingElementsDiv);
				movingDivContainer = document.getElementById(container);
			}
			movingDivContainer.style.position = 'relative';
			//	X
			var x = parseInt($(movingDiv).getStyle('left'));
			if (!x) {
				x = 0;
			}
			if (x < 0) {
				//	Div has not yet slided all the way to the top
				//	Determine how many pixels div should move up
				var px = -x % singleElementWidth;
				if (px == 0) {
					px = singleElementWidth;
				}
				//	Move
				strafing = true;
				new Effect.Move(movingDiv, { x: px, y: 0, afterFinish: strafeFinished });
			}
		}
	}
	
	function strafeFinished () {
		strafing = false;
	}
	