/**
 * @package Mooncake Framework
 * @subpackage carousel.js
 *
 * @author P1RATE
 * @link reaperblind@gmail.com
 *
 * @date 10/04/2011
 * @lastmodified 25/08/2011
 */

$(function(){

	var
		c = $('.carousel'), //контейнер
		s = $('.carouselItem'), //слайдер
		i = $('.carouselItem li'), //элемент
		l = $('.arrowLeft'), //стрелка влево
		r = $('.arrowRight'), //стрелка вправо
		p = 0, //позиция
		t = i.length, //количество элементов
		speed = 300, //скорость анимации
		infiniti = true; //перемотка
	
	//функция устанавливает размеры тизеров исходя из размеров контейнера
	function setWidth(){
		cw = c.outerWidth(true), //ширина контейнера
		v = 5, //количество видимых элементов
		w = cw/v, //ширина одного элемента
		a = w*t, //ширина всех элементов
		
		i.each(function(){
			$(this).css({width: w + 'px'});
		});
	};
		
	setWidth();
	
	$(window).resize(function(){
		setWidth();
	});
	
	function moveLeft(){
		if (p >= 0) {
			if (infiniti) {
				if (t <= v) {
					s.css({left: '0px'});
				} else {
					s.animate({left: -(a-w*v) + 'px'});
					p = -(a-w*v);
				};
			} else {
				s.css({left: '0px'});
				p = 0;
			};
		} else {
			p += w;
			s.animate({left: p + 'px'}, speed);
		};	
	};
	
	function moveRight(){
		if ((a+p)-w*v <= 0) {
			if (infiniti) {
				s.animate({left: '0px'}, speed);
				p = 0;
			} else {
				s.css({left: -(a-w*v) + 'px'});
				p = -(a-w*v);
			};
		} else {
			if (t >= v) {
				p -= w;
				s.animate({left: p + 'px'}, speed);
			} else {
				p = 0;
			};
		};	
	};
	
/* 	s.mousewheel(function(objEvent, intDelta){
		if (intDelta > 0){
			moveRight();
		} else {
			moveLeft();
		};
	}); */
	
	l.live('click', function(){
		moveLeft();
	});

	r.live('click', function(){
		moveRight();
	});

});
