var number = 1;
var slideDir = "right";
var intervalID;
var timeoutID;

$.fn.effectPreplace = function(_obj,_params) {
	var duration = 150;
	var range = 500;
	var _this = this;
	if(_params){
		duration = _params.duration;
	}
	if(slideDir == "right"){
		var shift1 = "+="+range+"px";
		var shift2 = "-"+range+"px";
	}else{
		var shift1 = "-="+range+"px";
		var shift2 = ""+range+"px";
	}
	
	this.animate({marginLeft:shift1,opacity: 0},duration,showNew);
		
	function showNew(){
		_this.text('');
		_this.append(_obj.html());
		_this.css("marginLeft",shift2);
		_this.animate({marginLeft:"0px",opacity: 1},duration);
	} 
}

function over(newNumber){
	stopRotation();
	doEffect(newNumber,1);
}

function left(){
	slideDir = "left";
	doEffect(numberMinus());
}

function right(){
	slideDir = "right";
	doEffect(numberPlus());
}

function numberMinus(){
	var newNumber = number-1;
	if(newNumber<1)newNumber = maxNumber;
	return newNumber
}

function numberPlus(){
	var newNumber = number+1;
	if(newNumber>maxNumber)newNumber = 1;
	return newNumber
}

function doEffect(newNumber,duration){
	if(duration){
		$('#featContent div').effectPreplace( $('#p'+newNumber), {duration: duration} );
	}else{
		 $('#featContent div').effectPreplace( $('#p'+newNumber) );
	}
	showCurrentDot(newNumber);
}

function showCurrentDot(newNumber){
	$('#d'+number).css('background','url(/img/featuresDot.png) no-repeat center');
	$('#d'+newNumber).css('background','url(/img/featuresDotFull.png) no-repeat center');
	number = newNumber;
}

function startRotation(){
	intervalID = setInterval('right()', 3000);
}

function stopRotation(){
	clearInterval(intervalID);
	clearTimeout(timeoutID);
	timeoutID = setTimeout('startRotation()', 11000);
}

$(document).ready(function() {
	doEffect(1,1);
  	startRotation();
});

