;(function($){
	$.fn.prod_carousel = function(){
		return $(this).each(function(){
			var $carousel = $(this);
			var $slides = $carousel.find('.slide');
			$slides.css('opacity', 0);
			var $controls = $carousel.find('.controls a');
			
			var counter = 0;
			var current = 0;
			$controls.each(function(){
				$(this).data('pos', counter++);
			});
			
			var ids = [];
			
			var new_interval = 0;
			function do_next()
			{
				current++;
				if($controls.eq(current).length > 0)
				{
					$controls.eq(current).click();
				}
				else
				{
					current = -1;
					do_next();
				}
			}
			
			$carousel.hover(function(){
				clearInterval(new_interval);
			}, function(){
				new_interval = setInterval(function(){
					do_next();
				}, 5000);
			});
			
			new_interval = setInterval(function(){
				do_next();
			}, 5000);
			
			$controls.click(function(e){
				e.preventDefault();
				current = parseInt($(this).data('pos'));
				$controls.removeClass('active');
				$(this).addClass('active');
				var id = $(this).data('id');
				var wait = 0;
				var duration = 0;
				var $active = $carousel.find('.carousel_active');
				if($carousel.find('.carousel_active').length > 0)
				{
					wait = 300;
					duration = 1000;
					$active.removeClass('carousel_active').stop().animate({
						left: -175,
						opacity: 0
					}, {
						duration: duration,
						easing: 'easeOutExpo',
						complete: function(){
							$(this).css({
								left: 175
							});
						}
					});
				}
				
				$('#car_prod_'+id).delay(wait).addClass('carousel_active').stop().animate({
					left: 0,
					opacity: 1
				}, {
					duration: duration,
					easing: 'easeOutExpo'
				});
				
			}).hover(function(){
				$(this).addClass('hover');
			},function(){
				$(this).removeClass('hover');
			});
			
			$controls.first().click();
			
		});
	}
})(jQuery);

$("document").ready(function(){
	$('.carousel').prod_carousel();
});
