$(function() {
	initHomeSlider();
});

function initHomeSlider() {
	$("#home-page-whats-on-slider").each(function() {
		var homeSlider = this;
		
		// Scroll content parts
		homeSlider.$scrollArea = $('div.slider-content-set', homeSlider);
		homeSlider.$scrollContent = $('ul.slider-list', homeSlider);
		
		homeSlider.entryCount =  homeSlider.$scrollContent.find("li").length;
		homeSlider.contentEntryWidth = homeSlider.$scrollContent.find("li:first").outerWidth();
		
		homeSlider.$previousTrigger = $("a.previous-entries-trigger", homeSlider);
		homeSlider.prevTrigWidth = homeSlider.$previousTrigger.width();
		homeSlider.$nextTrigger = $("a.earlier-entries-trigger", homeSlider);
		homeSlider.nextTrigWidth = homeSlider.$nextTrigger.width();
		
		homeSlider.triggerLeftAnimation;
		homeSlider.triggerRightAnimation;
		
		homeSlider.moveImagesLeft = function() {
		  var currLeftShift = homeSlider.$scrollContent.position().left;
			var leftArrowWidth = homeSlider.prevTrigWidth - 9;
			var contentWidthDisplay = currLeftShift;
			if(contentWidthDisplay < 0) {
				contentWidthDisplay = -1 * contentWidthDisplay;
				contentWidthDisplay = contentWidthDisplay + leftArrowWidth;
			} else {
				contentWidthDisplay = contentWidthDisplay - leftArrowWidth;
				if(contentWidthDisplay < 0) {
					contentWidthDisplay = -1 * contentWidthDisplay;
				}
			}
			contentWidthDisplay = contentWidthDisplay + homeSlider.$scrollArea.width();
			
			if(homeSlider.$scrollContent.width() > contentWidthDisplay) {
				var actualLeftShift = currLeftShift - leftArrowWidth;
				if(actualLeftShift < 0) {
					actualLeftShift = -1 * actualLeftShift;
				}
				var currVisSlide = Math.floor((actualLeftShift / homeSlider.contentEntryWidth));
				var nextSlideShift = currVisSlide + 1;
				
				homeSlider.$scrollContent.animate({
  				left: ((-1 * (nextSlideShift * homeSlider.contentEntryWidth)) - 9) + 'px'
  			}, 500, function () {
  			});
  			
				//homeSlider.$scrollContent.css('left', ((-1 * (nextSlideShift * homeSlider.contentEntryWidth)) - 9) + 'px');
			}
		}
		
		homeSlider.moveImagesRight = function() {
		  var currLeftShift = homeSlider.$scrollContent.position().left;
			var leftArrowWidth = homeSlider.prevTrigWidth - 9;
			var contentWidthDisplay = currLeftShift;
			if(contentWidthDisplay < 0) {
				contentWidthDisplay = -1 * contentWidthDisplay;
				contentWidthDisplay = contentWidthDisplay + leftArrowWidth;
			} else {
				contentWidthDisplay = contentWidthDisplay - leftArrowWidth;
				if(contentWidthDisplay < 0) {
					contentWidthDisplay = -1 * contentWidthDisplay;
				}
			}
			contentWidthDisplay = contentWidthDisplay + homeSlider.$scrollArea.width();
			
			if(currLeftShift < (leftArrowWidth - 9)) {
				var actualLeftShift = currLeftShift - leftArrowWidth;
				if(actualLeftShift < 0) {
					actualLeftShift = -1 * actualLeftShift;
				}
				var currVisSlide = Math.floor((actualLeftShift / homeSlider.contentEntryWidth));
				var nextSlideShift = currVisSlide - 1;
				
				homeSlider.$scrollContent.animate({
  				left: ((-1 * (nextSlideShift * homeSlider.contentEntryWidth)) - 9) + 'px'
  			}, 500, function () {
  			  
  			});
  			
  			//homeSlider.$scrollContent.css('left', ((-1 * (nextSlideShift * homeSlider.contentEntryWidth)) - 9) + 'px');
			}
		}
		
		homeSlider.$nextTrigger.click(function() {
			return false;
		});
		
		homeSlider.$nextTrigger.mousedown(function() {
		  homeSlider.moveImagesLeft();
		  
			homeSlider.triggerLeftAnimation = setInterval(homeSlider.moveImagesLeft, 550);
		});
		
		homeSlider.$nextTrigger.mouseup(function() {
		  clearInterval(homeSlider.triggerLeftAnimation);
		});
		
		homeSlider.$previousTrigger.click(function() {
			return false;
		});
		
		homeSlider.$previousTrigger.mousedown(function() {
		  homeSlider.moveImagesRight();
		  
			homeSlider.triggerRightAnimation = setInterval(homeSlider.moveImagesRight, 550);
		});
		
		homeSlider.$previousTrigger.mouseup(function() {
		  clearInterval(homeSlider.triggerRightAnimation);
		});
	});
}
