

function productSlider(container, numProducts, prodWidth) {

	this.slideContainer = container;
	this.numProductsToSlide = numProducts;
	this.productWidth = prodWidth; //must includes the width and horizontal margin set in stylesheet.
	this.slideWidth = eval(this.productWidth * this.numProductsToSlide); // total amount to slide per movement
	this.tempSlideWidth = this.slideWidth;
	this.isSliding = false;
	this.maxSlideLength = 0;
	this.slideAmount = 0;
	this.slideIncrement = 10;
	this.slideTimeout = setTimeout;
	this.slideTimeoutValue = 25;
	this.direction = null;
	this.slideContent = null;

	this.slide = function(direction) {
		
		if (this.isSliding == true) { return }
		
		
		this.slideWidth = this.tempSlideWidth;
		
		var slideContent = document.getElementById(this.slideContainer);
		var currentLeft = parseInt(slideContent.style.left);
		//if (this.slideAmount == 0 ) {slideContent.style.left = 0 + 'px';}
		
		var slideArray = new Array;
		slideArray = slideContent.getElementsByTagName('ul');
		
		this.maxSlideLength = slideArray.length * this.productWidth;
		this.direction = direction;
		
		//document.getElementById('debug').innerHTML = "Direction: " + this.direction + " | Max Length: " + this.maxSlideLength + " | Slide Width: " + this.slideWidth + " | Slide Amount: " + this.slideAmount + " | SlideArray: " + slideArray.length;
		
		if (this.direction == "left") {

			if (slideContent.offsetLeft < 0) {
				this.slideAmount = 0;
				this.moveSlide();
			}
			else {
				this.direction = 'right';	
				this.slideWidth = this.maxSlideLength - this.slideWidth;
				this.slideAmount = 0;
				this.moveSlide();
				//alert('');
			}
		}
		else if (this.direction == "right") {
				
			if (currentLeft > eval(-this.maxSlideLength + this.slideWidth)) {
				this.slideAmount = 0;
				this.moveSlide();
			}
			else {
				this.direction = 'left';	
				this.slideWidth = this.maxSlideLength - this.slideWidth;
				this.slideAmount = 0;
				this.moveSlide();
				//alert('');
			}
				
		}	
		
		
	}
	
	this.moveSlide = function() {
		
		var slideContent = document.getElementById(this.slideContainer);
		
		if (this.slideAmount < this.slideWidth) {
			
			this.slideAmount += this.slideIncrement;
			this.isSliding = true;
			var currentLeft = parseInt(slideContent.style.left);
			
			switch (this.direction) {
				
				case 'left':
					slideContent.style.left = eval(currentLeft + this.slideIncrement) + 'px';
					//slideContent.style.left = eval(slideContent.offsetLeft + this.slideIncrement) + 'px';
					
					break;
					
				case 'right':
					
					slideContent.style.left = eval(currentLeft - this.slideIncrement) + 'px';
					//document.getElementById('debug').innerHTML = "Direction: " + this.direction + " | Max Length: " + this.maxSlideLength + " | Slide Width: " + this.slideWidth + " | Slide Amount: " + this.slideAmount + " | Offset Left: " + currentLeft;
				
					break;
			}
			
			var _this = this;
			setTimeout(function(){
				_this.moveSlide()
			}, 5); 
				
		}
		else {this.isSliding = false;}
			
	}
	
}
