$(function() {
	var listItems = $('.carousel-gallery-scroll li');
	var n = [0,1,2,3,4];
	var listItemsShow = [];
	var time = 500;
	var tInterval = 3000;
	var indexCenterImg = 2;
	var an = true;	
	listItems.css({'position': 'absolute', opacity:0});
	listItems.filter(":gt(4)").hide();
	var styleItems=[
		{left:0, top:20, z:100, opacity:0.5, fSize:'8px', width:120, height:124},
		{left:125, top:40, z:101, opacity:0.75, fSize:'12px', width:180, height:187},
		{left:312, top:0, z:102, opacity:1, fSize:'14px', width:275, height:285},
		{left:594, top:40, z:101, opacity:0.75, fSize:'12px', width:180, height:187},
		{left:780, top:20, z:100, opacity:0.5, fSize:'8px', width:120, height:124}
	];
	var ind = styleItems.length -1;
	$.each(n, function(i) {
		listItemsShow[listItemsShow.length] = listItems.filter(":eq("+n[i]+")");
	});
	$.each(listItemsShow, function(i) {
		var o = $(this);
		o.css({
			'left':styleItems[i].left,
			'top':styleItems[i].top,
			'z-index':styleItems[i].z,
			'width': styleItems[i].width,
			'height': styleItems[i].height,
			opacity: styleItems[i].opacity
		});
	})
	
	function nextImg() {
		clearInterval (scrollTimer);
		an = false;
		listItemsShow = [];
		$.each(n, function(i) {
			if (n[i]+1 >= listItems.length) {n[i] = 0} else {n[i]+=1};
			listItemsShow[listItemsShow.length] = listItems.filter(":eq("+n[i]+")");
		});
		
		var indextNextImg = indexCenterImg+3;
		var indextFirstImg = indexCenterImg-2;
		var l = listItems.length-1;
		if (indextNextImg > l) {indextNextImg = indextNextImg-listItems.length};
		if (indextFirstImg < 0) {indextFirstImg = listItems.length+indextFirstImg};
		if (indexCenterImg >= l) {indexCenterImg = 0} else {indexCenterImg +=1;};
		var iNextImg = listItems.filter(":eq("+indextNextImg+")");		
		iNextImg.css({
			'left':styleItems[ind].left,
			'top':styleItems[ind].top,
			'z-index':styleItems[ind].z,
			'width': styleItems[ind].width,
			'height': styleItems[ind].height
		}).show().animate({'opacity': 0}, 100, function(){ setTimeout(function() {an = true}, 700) });
		
		$.each(listItemsShow, function(i) {
			var o = $(this);
			o.css({'z-index': styleItems[i].z}).animate({
				opacity: styleItems[i].opacity,
				left: styleItems[i].left,
				'top': styleItems[i].top,
				width: styleItems[i].width,
				height: styleItems[i].height
			}, time);
		})
		listItems.filter(":eq("+indextFirstImg+")").animate({opacity: 0}, time, function() {$(this).hide()});
		listItemsShow = [];		
		scrollTimer = setInterval(nextImg, tInterval);		
	}
	
	function prevImg() {
		clearInterval (scrollTimer);
		an = false;
		listItemsShow = [];
		$.each(n, function(i) {
			if (n[i]-1 < 0) {n[i] = listItems.length-1} else {n[i]-=1};
			listItemsShow[listItemsShow.length] = listItems.filter(":eq("+n[i]+")");
		});
		var indextLastImg = indexCenterImg+2;
		var l = listItems.length-1;
		if (indextLastImg > l) {indextLastImg = indextLastImg-listItems.length};
		if (indexCenterImg < 1) {indexCenterImg = listItems.length-1} else {indexCenterImg -=1;};
		var iPrevImg = listItems.filter(":eq("+n[0]+")");
		iPrevImg.css({
			'left':styleItems[0].left,
			'top':styleItems[0].top,
			'z-index':styleItems[0].z,
			'height': styleItems[0].height,
			'width': styleItems[0].width
		}).show().animate({opacity: 0 }, 100, function(){ setTimeout(function() {an = true}, 700) });
		
		$.each(listItemsShow, function(i) {
			var o = $(this);
			o.css({'z-index': styleItems[i].z}).animate({
				opacity: styleItems[i].opacity,
				left: styleItems[i].left,
				'top': styleItems[i].top,
				height: styleItems[i].height,
				width: styleItems[i].width
			}, time);
		})
		listItems.filter(":eq("+indextLastImg+")").animate({opacity: 0}, time, function() {$(this).hide()});
		listItemsShow = [];
		scrollTimer = setInterval(nextImg, tInterval);
	}
	
	scrollTimer = setInterval(nextImg, tInterval);
	
	$('.next').click(function() {
		if (an) {
			an = false;
			nextImg();
		}
		return false;
	})
	$('.prev').click(function() {
		if (an) {
			an = false;
			prevImg();
		}
		return false;
	});
	$(listItems).hover(function() {clearInterval (scrollTimer);}, function() {scrollTimer = setInterval(nextImg, tInterval);})
})
