$(document).ready(function(){
	var indexCheck = $('#content.home');
	
	if (!indexCheck.length)
		return;

	$('div.hero-module').first().addClass('active');

	var carouselTimeoutID = window.setTimeout(nextHero, 4000);
	
	function nextHero() {
		var nextDot = $('ul.hero-carousel-dots li.active').next('li');
		
		if (!nextDot.length) {
			nextDot = $('ul.hero-carousel-dots li').first();
		}
		
		$('ul.hero-carousel-dots li').removeClass('active');
		nextDot.addClass('active');
		
		var i = $('ul.hero-carousel-dots li').index(nextDot);
		
		$('.hero-module').stop(false,true);
		
		$('.hero-module.active').fadeOut(400,function() {
			$(this).removeClass('active');
			var heroModules = $('.hero-module');
			
			$(heroModules[i]).fadeIn().addClass('active');
		});
		
		window.clearTimeout(carouselTimeoutID);
		carouselTimeoutID = window.setTimeout(nextHero, 7000);
	}
	
	$('ul.hero-carousel-dots li').click(function() {
		if (!$(this).hasClass('active')) {
			$('ul.hero-carousel-dots li').removeClass('active');
			$(this).addClass('active');
			
			var i = $('ul.hero-carousel-dots li').index($(this));
			
			$('.hero-module').stop(false,true);
			
			$('.hero-module.active').fadeOut(400,function() {
				$(this).removeClass('active');
				var heroModules = $('.hero-module');
				
				$(heroModules[i]).fadeIn().addClass('active');
			});
		}
	});

	$('.hero-navigation a.nav-left').click(function() {
		var prevDot = $('ul.hero-carousel-dots li.active').prev('li');
		
		if (!prevDot.length) {
			prevDot = $('ul.hero-carousel-dots li').last();
		}
		
		$('ul.hero-carousel-dots li').removeClass('active');
		prevDot.addClass('active');
		
		var i = $('ul.hero-carousel-dots li').index(prevDot);
		
		$('.hero-module').stop(false,true);
		
		$('.hero-module.active').fadeOut(400,function() {
			$(this).removeClass('active');
			var heroModules = $('.hero-module');
			
			$(heroModules[i]).fadeIn().addClass('active');
		});
		
		window.clearTimeout(carouselTimeoutID);
		carouselTimeoutID = window.setTimeout(nextHero, 7000);
	});
	
	$('.hero-navigation a.nav-right').click(nextHero);
	
});
