/**
 * 
 */
		var slideToMove;
		var slides;
		var carouselContainer;
		var carouselControls;
		var timerTO;
		var currentTime = 1;
		var timerSteps = 9;
		var slideTime = 4000;
		var currentSlide = 0;
		var totalSlides = 0;
		var slideTO;
		
		
		jQuery(document).ready(function($){
			
			carouselContainer = $("#carouselContainer");
			carouselControls = $("#carouselNav").find(".carouselCtrl");
			slides = carouselContainer.find(".slideContainer");
			totalSlides = slides.length;
			carouselSlideLoop();
			
			var first_slide = $('div:first', carouselContainer);
			var last_slide = $('div:last', carouselContainer);
			
			carouselContainer.prepend('<div class="slideContainer">' + last_slide.html() + '</div>');
			carouselContainer.append('<div class="slideContainer">' + first_slide.html() + '</div>');
			
			$('#carouselArrowR').click(function() {
				window.console && console.log('current ', currentSlide);
				clearTimeout(slideTO);
				currentSlide = currentSlide < totalSlides-1 ? currentSlide+1:0;
			  	carouselSlide();
			});
			
			$('#carouselArrowL').click(function() {
				clearTimeout(slideTO);
				currentSlide = currentSlide > 0 ? currentSlide-1 : totalSlides-1;
				window.console && console.log('current ', currentSlide);
			  	carouselSlide2();
			});
			
			$('#carouselNavPause').click(function(e){
				e.preventDefault();
				if ($(this).data('state') === 'paused')
				{
					$(this).data('state', 'unpaused');
					unpause_carousel();	
					return;
				}
				$(this).data('state', 'paused');
				pause_carousel();
			});
			
			$('a.carouselCtrl').click(
				function() {
					if ($('#carouselNavPause').data('state') == 'paused')
					{
						$('#carouselNavPause').find("a").removeClass("navActive");
						$('#carouselNavPause').data('state', 'unpaused');
					}
					clearTimeout(slideTO);
					clearTimeout(timerTO);
					currentSlide = carouselControls.index($(this));
					carouselSlide2();
					return false;
				}
			);
			
		});

		function pause_carousel()
		{
			window.console && console.log('pausing');
			clearTimeout(slideTO);
			clearTimeout(timerTO);
			$('#carouselNavPause').find("a").addClass("navActive");
			return false;
		}
		
		function unpause_carousel()
		{
			window.console && console.log('unpausing');
			currentSlide = currentSlide<totalSlides-1?currentSlide+1:0;
			carouselSlide();
			$('#carouselNavPause').find("a").removeClass("navActive");
			return false;
		}
		
		function carouselSlide() {
			resetControlClass();
	
			var left = currentSlide == 0 ? '-1170px' : '-=1170px'; 
			
			$("#carouselContainer").animate(
				{
					left: left
				}, 
				750, 
				carouselSlideLoop
			);
		}
	
		function carouselSlide2() {
			resetControlClass();
			$("#carouselContainer").animate(
				{
					left: ((currentSlide+1)*-1170)+"px"
				}, 
				750, 
				carouselSlideLoop
			);
		}
	
		function carouselSlideLoop() {
			resetControlClass();
			clearTimeout(slideTO);
			slideTO = setTimeout (function() {
				currentSlide = currentSlide<totalSlides-1?currentSlide+1:0;
				carouselSlide();
			},slideTime);
			currentTime = 1;
			incrementTimer();
		}
		
		function incrementTimer() {
			resetControlClass();
			carouselControls.eq(currentSlide).addClass("carouselCtrl"+currentTime);
			timerTO = setTimeout("incrementTimer()",slideTime/timerSteps);
			currentTime++;
		}
		
		function resetControlClass() {
			clearTimeout(timerTO);
			carouselControls.each(function(){
				this.className = "carouselCtrl";
			});
		}
