//variables
var delayLength = 6000;
var panelWidth = 308;
var panelNegWidth = -308;
var numPanels = 2;
var tooFar = -(panelWidth * numPanels);
var activeIndicatorClass = 'active';
var sliderAnimDur = 'normal';
var sliderEasing = 'linear';
$(document).ready(function() {
	if ($("#slider .slide").is("#slider .slide")) {
		//let's count the elements again now that te page has loaded
		numPanels = $("#slider .slide").children('li').length;
		tooFar = -(panelWidth * numPanels);

		//add the slider nav
		$("#sliderNav")
			.append('<a href="javascript:void(0);" id="slider-back">Back</a>')
			.append('<a href="javascript:void(0);" id="slider-forward">Forward</a>');

		//add the indicators
		$("#sliderNav").prepend('<ul class="sliderNavIndicators"></ul>');
		for (var i = 0; i < numPanels; i++) {
			$("#sliderNav .sliderNavIndicators").append('<li><div class="indicator"></div></li>');
		}
		$("#sliderNav .sliderNavIndicators li:first-child").addClass(activeIndicatorClass);
		setIndicator();
		
		sliderIntervalID = setInterval(function() {
			doMove(panelWidth, tooFar);
		}, delayLength);

		$("#slider-forward").click(function() {
			clearInterval(sliderIntervalID);
			doMove(panelWidth, tooFar);
			sliderIntervalID = setInterval(function() {
				doMove(panelWidth, tooFar);
			}, delayLength);
		});

		$("#slider-back").click(function() {
			clearInterval(sliderIntervalID);
			doMove(panelNegWidth, tooFar);
			sliderIntervalID = setInterval(function() {
				doMove(panelWidth, tooFar);
			}, delayLength);
		});
	}
});



function doMove(panelWidth, tooFar) {
	var leftValue = $(".slide").css("left");
	// Fix for IE
	if (leftValue == "auto") { leftValue = 0; };

	var movement = parseFloat(leftValue, 10) - panelWidth;
	var finalPanel = parseFloat((-tooFar-movement));
	//get the panel number that we're on
	if (movement == tooFar) {
		$(".slide").animate({
			"left": 0
		}, sliderAnimDur, sliderEasing, function() { setIndicator() });
	}
	else {
		if(movement > 0) {
			$(".slide").animate({
				"left": -finalPanel
			}, sliderAnimDur, sliderEasing, function() { setIndicator() } );
		}
		else {
			$(".slide").animate({
				"left": movement
			}, sliderAnimDur, sliderEasing, function() { setIndicator() } );
		}
	}

}

function setIndicator() {
	leftValue = $(".slide").css("left");
	if (leftValue == "auto") { leftValue = 0; }
	else { leftValue = parseInt(leftValue); }
	difference = panelWidth - leftValue;
	panelNo = (difference / panelWidth);
	//console.log('panelNo = ' + difference + " / " + panelWidth + ' = ' + panelNo);
	//set the correct nav element to active
	$("#sliderNav .sliderNavIndicators").children('li').removeClass(activeIndicatorClass);
	$("#sliderNav .sliderNavIndicators li:nth-child(" + panelNo + ")").addClass(activeIndicatorClass);
}





