
// code by www.widelldesign.com // credit if copy

var sectionWidth 		= 480;
var animationSteps 		= 30;
var currentPosition		= 0;
var currentGoal			= 0;
var currentStep			= 0;
var antalSidor			= 1;

var partOne = '<div onmousedown="slideImage('
var partTwo = ',true);"></div>'


var noClickYet			= true;
var autoPage			= 1;

function initNav(){
	antalSidor=document.getElementById('slide').getElementsByTagName('li').length;
	if (antalSidor>1) {
		document.getElementById('navleft').style.display='block';
		document.getElementById('navright').style.display='block';
		changeArrowLinks(1);
		autoRoll();
	}
}

function autoRoll(){
	setTimeout("doRoll();", 3000);
}

function doRoll(){
	if (noClickYet) {
		autoPage++;
		if (autoPage>antalSidor) autoPage=1;
		slideImage(autoPage, false);
		autoRoll();
	}
}




function changeArrowLinks(newNumber){
	 var leftNumber  = newNumber-1;
	 var rightNumber = newNumber+1;
	 if (leftNumber < 1) leftNumber = antalSidor;
	 if (rightNumber > antalSidor ) rightNumber = 1;
	 
	 var newLeftLink = partOne + leftNumber + partTwo;
	 var newRightLink = partOne + rightNumber + partTwo;

	 document.getElementById('navleft').innerHTML= newLeftLink;
	 document.getElementById('navright').innerHTML= newRightLink;
	 
}

function slideImage(newNumber,clicked) {
	if (clicked) noClickYet=false;
	changeArrowLinks(newNumber);
		currentGoal = (newNumber-1)*sectionWidth;
	currentStep = 0;
	animate( currentStep, currentPosition, currentGoal);
}

function animate(step, start, goal) {
	// ignores multiple runs! no start if "goal" or "step" are not what global vars expects.
	if ((goal == currentGoal)&&(step==currentStep)) {
		if (step == animationSteps) {
			currentPosition = goal;
		}
		else {
			var percent = step/animationSteps;
			var soft = .5* Math.sin(Math.PI*(percent-.5))+.5;
			currentPosition = Math.floor(soft* (goal-start)+start);
		}
		document.getElementById('slide').style.left='-'+currentPosition+'px';
		currentStep = step+1; 
		if (currentPosition != currentGoal) setTimeout("animate ("+(step+1)+", "+start+", "+goal+")", 0);
	}
}
