// Slider
function sliderInit(sliderElement, pageElement, textElement, width){
	sliderElement.width(width);
	textElement.width(textElement.children("li.current").width());
}	

function autoSlide(sliderElement, pageElement, textElement, slideWidth){
	var nextIndex = pageElement.children("li.current").index()+1;
	if(sliderElement.children("li").eq(nextIndex).length < 1){
		nextIndex = 0;
	}
	slideTo(sliderElement, nextIndex, slideWidth);
	pageElement.children("li").removeClass("current");
	pageElement.children("li").eq(nextIndex).addClass("current");
}

function slideTo(sliderElement, newIndex, slideWidth){	
	var newPos = 0-(newIndex*slideWidth);
	sliderElement.animate({ "left" : newPos }, 500);
}

$("document").ready(function(){
														 
	// Body JS class
	$("body").addClass("hasJS");
														 
	// Bind lightbox
	$("a.lightbox").fancybox();
	
	if($("#homeSlider").length > 0){
		var wrapperElement = $("#homeSlider");
		var sliderElement = wrapperElement.find("ul.sliderImages");
		var textElement = wrapperElement.find("ul.sliderImages");
		var pageElement = wrapperElement.find("ul.page_selector");
		
		var itemWidth = sliderElement.children("li:first").outerWidth();
		var sliderWidth = itemWidth*sliderElement.children("li").length;
		
		sliderInit(sliderElement, pageElement, textElement, sliderWidth);
		
		// Autorotate
		var autoRotate = setInterval(function(){
			autoSlide(sliderElement, pageElement, textElement, itemWidth);
		},5000);
		
		$("#homeSlider ul.page_selector a").click(function(evnt){
			var selectedSlide = $(this).parent();
			evnt.preventDefault();
			// Stop autorotate
			clearInterval(autoRotate);
			if(sliderElement.is(":not(:animated)") && textElement.is(":not(:animated)") && selectedSlide.hasClass("current") !== true){
				var selectedIndex = selectedSlide.index();
				slideTo(sliderElement, selectedIndex, itemWidth);
				//fadeText(textElement, selectedIndex);
				pageElement.children("li").removeClass("current");
				pageElement.children("li").eq(selectedIndex).addClass("current");
			}
		});
	}
	
});
