(function($)
{
	$(function()
	{
		var slider = $('#aagon-slider .tabs');
		var animationWidth = 950;
		var animationSpeed = 'slow';
		var animationGap = 5000;
		var slidingActive = true;
		var timeOut = null;
		
		var doSlide = function(duration, frameCount)
		{
			if(!slidingActive)
			{
				timeOut = setTimeout(function(){ doSlide(duration); },animationGap);
				return;
			}
			
			if(frameCount === undefined) { frameCount = 1; }
			if(frameCount <= 0) { return; }
			
			clearTimeout(timeOut);
			var tabs = slider.children('.tab');
			
			tabs.each(function()
			{
				var tab = $(this);
				
				var newPosition = parseInt(tab.attr('data-position')) - frameCount;
				var newLeft = animationWidth * newPosition;
				
				tab.animate({'left' : newLeft},duration,function()
				{
					if(newPosition < 0) 
					{
						newPosition = 6 + newPosition;
						newLeft = animationWidth * newPosition;	
					}
					tab.attr('data-position', newPosition);
					tab.css('left', newLeft);
					
					if(newPosition == 0)
					{
						var oldActiveNavElement = $('.active', tab.parent().parent());
						oldActiveNavElement.removeClass('active');
						
						var navElement = $('#aagon-slider .nav [data-number='+tab.attr('data-number')+']');
						navElement.addClass('active');
					}
				});
			});
			
			timeOut = setTimeout(function(){ doSlide(animationSpeed); },animationGap);
		};
		
		$('#aagon-slider .nav .item').click(function()
		{
			var toNumber = parseInt($(this).attr('data-number'))
			var toPosition = parseInt($('#aagon-slider .tabs [data-number="' + toNumber + '"]').attr('data-position'));
			doSlide('fast', toPosition);
		});
				
		$('#aagon-slider .tab').hover(
			function(){	slidingActive = false; },
			function(){	slidingActive = true; }
		);
		
		timeOut = setTimeout(function(){ doSlide(animationSpeed); },5000);
	});
})(jQuery);
