Synov_son,
 разберитесь в данном объекте. Его я использовал как ядро слайдера. Заключив всю логику в нем. Вот простой пример
var nav = function(max){
	this.max = max;
	this.current = this.current || -1;
	this.next = function () {
        this.current = this.current < this.max - 1
			? this.current + 1 
			: 0;
		return this.current;	
    };
	this.prev = function () {
        this.current = this.current > 0 
             ? this.current - 1 
             : this.max - 1;
        return this.current;
    };
};
// пользуемся
var slider = new nav(3); //создали объект 3 кол-во элементов 0 и 1, и 2
alert(slider.next()); //вперед
alert(slider.next());
alert(slider.next());
alert(slider.prev()); //назад
alert(slider.current); //текущая позиция
slider.current = 2; //можно и задать или инициализировать с нужного элемента
а переписать и добавить эффектов вам разобравшись не составит труда