var slider1;
var slider2;
var tempSlider;
var SlidersController = {slider:tempSlider,isSliding:false}

/**
 * Slider Object
 */
function ImageSlider()
{
	var sliderID;
	var isSliding;
	var nextStep;
	var sliderStep;
	var outLeft;
	var outRight;
	var sliderSize;
	var sliderNumImages;
	var sliderPos;
	var prevButtonOn;
	var nextButtonOn;
	var prevButtonOff;
	var nextButtonOff;
	this.showNext = next;
	this.showPrevious = previous;
	this.slide = applyEffect;
	this.direction;
}

/**
 * 
 * Slider Motion Effect
 */
function applyEffect()
{
	if(this.direction == "next")
	{
		if(this.sliderPos > this.nextStep)
		{
			this.isSliding = true;	
			SlidersController.isSliding = true;
			document.getElementById(this.sliderID).style.marginLeft = (this.sliderPos-=1) + "px";
			window.setTimeout("SlidersController.slider.slide()",10);
		}
		else
		{
			this.isSliding = false;
			SlidersController.isSliding = false;
			this.outLeft++;
			this.outRight--;
			if(this.outRight<=0)
			{
					this.nextButtonOn.style.display = "none";
					this.nextButtonOff.style.display = "inline";
			}
			this.prevButtonOn.style.display = "inline";
			this.prevButtonOff.style.display = "none";
			
		}
	}
	if(this.direction == "prev")
	{
		
		if(this.sliderPos < this.nextStep)
		{
			this.isSliding = true;	
			SlidersController.isSliding = true;
			document.getElementById(this.sliderID).style.marginLeft = (this.sliderPos+=1) + "px";
			window.setTimeout("SlidersController.slider.slide()",10);
		}
		else
		{
			this.isSliding = false;
			SlidersController.isSliding = false;
			this.outLeft--;
			this.outRight++;
			if(this.outLeft<=0)
			{
				this.prevButtonOn.style.display = "none";
				this.prevButtonOff.style.display = "inline";
					
			}
			this.nextButtonOn.style.display = "inline";
			this.nextButtonOff.style.display = "none";
		}
	}
	
	
}

/**
 * 
 * Next event
 */
function next()
{
	
	if(SlidersController.isSliding) return;
	this.sliderPos = parseInt( document.getElementById(this.sliderID).style.marginLeft);
	if(isNaN(this.sliderPos))
			this.sliderPos = 0;
	
	this.nextStep = this.sliderPos - this.sliderStep;
	this.direction = "next";
	SlidersController.slider = this;
	this.slide();
	
	//slideEffect("next");
}

/**
 * Previous event
 * 
 */
function previous()
{
	if(SlidersController.isSliding) return;
	this.sliderPos = parseInt( document.getElementById(this.sliderID).style.marginLeft);
	if(isNaN(this.sliderPos))
			this.sliderPos = 0;
	
	this.nextStep = this.sliderPos + this.sliderStep;
	this.direction = "prev";
	SlidersController.slider = this;
	this.slide();
	
}

/**
 * 
 * Page initializer
 */
function initPage()
{
	slider1 = new ImageSlider();
	slider1.sliderID = "recentSearchedSlider";
	slider1.isSliding = false;
	
	slider1.nextStep = 0;
	slider1.sliderStep = 104;
	slider1.sliderSize = 4;
	slider1.sliderNumImages = getSliderNumImages(slider1.sliderID);
	
	slider1.sliderPos = getSliderPos(slider1.sliderID);
	slider1.outLeft = 0;
	
	slider1.outRight = slider1.sliderNumImages - slider1.sliderSize;
	slider1.prevButtonOn = document.getElementById('recentSearchesScrollRightOn');
	slider1.nextButtonOn = document.getElementById('recentSearchesScrollLeftOn');
	slider1.prevButtonOff = document.getElementById('recentSearchesScrollRightOff');
	slider1.nextButtonOff = document.getElementById('recentSearchesScrollLeftOff');
	
	if(slider1.outRight <= 0)
	{
		slider1.nextButtonOn.style.display = "none";
		slider1.nextButtonOff.style.display = "inline";	
	}
	
	slider2 = new ImageSlider();
	slider2.sliderID = "featuresSlider";
	slider2.isSliding = false;
	slider2.nextStep = 0;
	slider2.sliderStep = 104;
	slider2.sliderSize = 4;
	slider2.sliderNumImages = getSliderNumImages(slider2.sliderID);
	slider2.sliderPos = getSliderPos(slider2.sliderID);
	slider2.outLeft = 0;
	slider2.outRight = slider2.sliderNumImages - slider2.sliderSize;
	slider2.prevButtonOn = document.getElementById('categoriesScrollRightOn');
	slider2.nextButtonOn = document.getElementById('categoriesScrollLeftOn');
	slider2.prevButtonOff = document.getElementById('categoriesScrollRightOff');
	slider2.nextButtonOff = document.getElementById('categoriesScrollLeftOff');
	if(slider2.outRight <= 0)
	{
		slider2.nextButtonOn.style.display = "none";
		slider2.nextButtonOff.style.display = "inline";	
	}
	
}
/**
 * @param slideStrip the ul id of the slider
 * @return slider margin left value
 */
function getSliderPos(sliderStrip)
{
	var SliderPos = parseInt( document.getElementById(sliderStrip).style.marginLeft );
	if(isNaN(SliderPos))
			SliderPos = 0;
	return SliderPos;
}
/**
 * 
 * @param sliderStrip the id of the ul tag that contains the images.
 * @return number of images for specific slider
 */

function getSliderNumImages(sliderStrip)
{
	
	var sliderNumImages = 0;
	for( var idx=0;idx<document.getElementById(sliderStrip).childNodes.length;idx++)
	{
		if(document.getElementById(sliderStrip).childNodes[idx].tagName == 'LI')
			sliderNumImages++;
		
	}
	return sliderNumImages;
}



