var zScroller = new horizontalScroller(120, 105, 3);
window.onload = startScroller;

function startScroller()
{
	zScroller.scrollSpeed = 20;
	zScroller.scrollAmount = 25;

	zScroller.add('javascript:win1()', 'images/testimonials_thumb1.gif', 'Tesimonial 1');
	zScroller.add('javascript:win2()', 'images/testimonials_thumb2.gif', 'Tesimonial 2');
	zScroller.add('javascript:win3()', 'images/testimonials_thumb3.gif', 'Tesimonial 3');
	zScroller.add('javascript:win4()', 'images/testimonials_thumb4.gif', 'Tesimonial 4');
	zScroller.add('javascript:win5()', 'images/testimonials_thumb5.gif', 'Tesimonial 5');
	zScroller.add('javascript:win6()', 'images/testimonials_thumb6.gif', 'Tesimonial 6');
	zScroller.add('javascript:win7()', 'images/testimonials_thumb7.gif', 'Tesimonial 7');
	zScroller.add('javascript:win8()', 'images/testimonials_thumb8.gif', 'Tesimonial 8');

	zScroller.display(document.getElementById('scrollBox'));
}


function horizontalScroller(zWidth, zHeight, zVisible)
{
	this.width = zWidth;
	this.height = zHeight;
	this.visible = zVisible;
	this.items = new Array();
	this.position = 0;
	this.scroller = null;
	this.trueWidth = -1;
	this.scrollSpeed = 20;
	
	this.scrollAmount = 25;

	this.display = function(zObject)
	{
		var xParent = zObject.getElementsByTagName('div')[0];
		for ( i = 0; i < this.items.length; i++ )
		{
			var xImage = document.createElement('img');
			xImage.src = this.items[i]['image'];
			xImage.alt = this.items[i]['title'];
			xImage.width = this.width;
			xImage.height = this.height;
			var xLink = document.createElement('a');
			xLink.href = this.items[i]['link'];
			xLink.target = this.items[i]['target'];
			xLink.appendChild(xImage);
			xParent.appendChild(xLink);
			if ( i == 0 )
			{
				this.trueWidth = xLink.offsetWidth;
				zObject.style.width = (this.trueWidth * this.visible) + 'px';
			}
		}
		this.scroller = xParent;
	}

	this.add = function(zLink, zImage, zTitle, zTarget)
	{
		var xCount = this.items.length;
		this.items[xCount] = new Array();
		this.items[xCount]['link'] = zLink;
		this.items[xCount]['image'] = zImage;
		this.items[xCount]['title'] = zTitle;
		this.items[xCount]['target'] = zTarget == null ? '_self' : zTarget;
	}

	this.rightMost = function()
	{
		return (this.items.length - this.visible) * - 1;
	}

	this.scrollLeft = function()
	{
		var xStart = this.position * this.trueWidth;
		this.position += this.visible;
		if ( this.position > 0 ) { this.position = 0; }
		var xEnd = this.position * this.trueWidth;
		var e = this;
		var xTimer = setInterval(function()
		{
			xStart += e.scrollAmount;
			if ( xStart > xEnd )
			{
				clearInterval(xTimer);
				xStart = xEnd;
			}
			e.scroller.style.marginLeft = xStart + 'px';
		}, e.scrollSpeed);
	}

	this.scrollRight = function()
	{
		var xStart = this.position * this.trueWidth;
		this.position -= this.visible;
		if ( this.position < this.rightMost()) { this.position = this.rightMost(); }
		var xEnd = this.position * this.trueWidth;
		var e = this;
		var xTimer = setInterval(function()
		{
			xStart -= e.scrollAmount;
			if ( xStart < xEnd )
			{
				clearInterval(xTimer);
				xStart = xEnd;
			}
			e.scroller.style.marginLeft = xStart + 'px';
		}, e.scrollSpeed);
	}
}

