jQuery(function(){

	/* vars */
	var
		speed = 400, //скорость анимации
		infiniti = true; //бесконечная карусель

	/* horizontal */
	var
		hWrap = $('.hWrap'), //контейнер
		hSlider = $('.hSlide'), //слайдер который двигаем
		hImageSmall = $('.hItems li'), //картинка превью
		hVisible = 3, //количество видимых слайдов
		hNumber = 1, //на сколько слайдов сдвигаемся за раз (РАБОТАЕТ КОСЯЧНО!!!)
		hPosition = 0, //насколько мы сдвинулись
		hItemWidth = hImageSmall.outerWidth(true), //ширина одного слайда
		hTotal = hImageSmall.length, //количество слайдов
		hAllItemWidth = hItemWidth*hTotal; //ширина всех слайдов

	hWrap.css({width: hVisible*hItemWidth + 'px'}); //устанавливаем ширину контейнера

	/* vertical */
	var
		vWrap = $('.vWrap'), //контейнер
		vSlider = $('.vSlide'), //слайдер который двигаем
		vImageSmall = $('.vItems li'), //картинка превью
		vVisible = 3, //количество видимых слайдов
		vNumber = 1, //на сколько слайдов сдвигаемся за раз (РАБОТАЕТ КОСЯЧНО!!!)
		vPosition = 0, //насколько мы сдвинулись
		vItemHeight = vImageSmall.outerHeight(true), //высота одного слайда
		vTotal = vImageSmall.length, //количество слайдов
		vAllItemHeight = vItemHeight*vTotal; //высота всех слайдов

	vWrap.css({height: vVisible*vItemHeight + 'px'}); //устанавливаем высоту контейнера

	/* arrows */
	$('#right').click(function(){
		if ((hAllItemWidth+hPosition)-hItemWidth*hVisible <= 0) {
			if (infiniti) {
				hSlider.animate({left: '0px'}, speed, 'linear');
				hPosition = 0;
			} else {
				hSlider.css({left: -(hAllItemWidth-hItemWidth*hVisible) + 'px'});
				hPosition = -(hAllItemWidth-hItemWidth*hVisible);
			};
		} else {
			if (hTotal >= hVisible) {
				hPosition -= hItemWidth*hNumber;
				hSlider.animate({left: hPosition + 'px'}, speed);
			} else {
				hPosition = 0;
			};
		};
	});

	$('#left').click(function(){
		if (hPosition >= 0) {
			if (infiniti) {
				if (hTotal <= hVisible) {
					hSlider.css({left: '0px'});
				} else {
					hSlider.animate({left: -(hAllItemWidth-hItemWidth*hVisible) + 'px'}, speed, 'linear');
					hPosition = -(hAllItemWidth-hItemWidth*hVisible);
				};
			} else {
				hSlider.css({left: '0px'});
				hPosition = 0;
			};
		} else {
			hPosition += hItemWidth*hNumber;
			hSlider.animate({left: hPosition + 'px'}, speed, 'linear');
		};
	});

	$('#down').click(function(){
		if ((vAllItemHeight+vPosition)-vItemHeight*vVisible <= 0) {
			if (infiniti) {
				vSlider.animate({top: '0px'}, speed, 'linear');
				vPosition = 0;
			} else {
				vSlider.css({top: -(vAllItemHeight-vItemHeight*vVisible) + 'px'});
				vPosition = -(vAllItemHeight-vItemHeight*vVisible);
			};
		} else {
			if (vTotal >= vVisible) {
				vPosition -= vItemHeight*vNumber;
				vSlider.animate({top: vPosition + 'px'}, speed);
			} else {
				vPosition = 0;
			};
		};
	});

	$('#up').click(function(){
		if (vPosition >= 0) {
			if (infiniti) {
				if (vTotal <= vVisible) {
					vSlider.css({top: '0px'});
				} else {
					vSlider.animate({top: -(vAllItemHeight-vItemHeight*vVisible) + 'px'}, speed, 'linear');
					vPosition = -(vAllItemHeight-vItemHeight*vVisible);
				};
			} else {
				vSlider.css({top: '0px'});
				vPosition = 0;
			};
		} else {
			vPosition += vItemHeight*vNumber;
			vSlider.animate({top: vPosition + 'px'}, speed, 'linear');
		};
	});

});
