$(document).ready(function()
{

  /*------------------------------------------------------------------------*
  *
  * Front Content Slider
  *
  /-------------------------------------------------------------------------*/

	var autoplay_timer;
	var slider_items = $('#slider li').length;

	// grab the width and calculate left value
	var item_width = $('#slider li').outerWidth(true);
	var left_value = item_width * (-1);

	// only slide when there are more than 3 items
	if (slider_items > 3)
	{
		// move the last item in front of the first item
		$('#slider li:first').before($('#slider li:last'));

		//set the default item to the correct position
		$('#slider ul').css({'left': left_value });

		$('#prev, #next').css({'cursor': 'pointer'});
		$('#prev, #next').animate({'opacity': 1});


		var initial_delay = setTimeout(function()
		{
			(function autoplay()
			{
				autoplay_timer = setTimeout(autoplay,30000); /* <-- interval */
				$('#next').trigger('click', true);
			})();
		},30000); /* <-- initial timeout */
		$('#prev').bind('click', function(e)
		{
			e.preventDefault();

			clearTimeout(initial_delay);
			clearTimeout(autoplay_timer);

			//get the right position
			var left_indent = parseInt($('#slider ul').css('left'), 10) + item_width;

			$('#slider ul').not(':animated').animate(
			{
				'left': left_indent
			}, 1000, 'easeInOutCubic', function()
			{
				//move the last item and put it as first item
				$('#slider li:first').before($('#slider li:last'));

				//set the default item to correct position
				$('#slider ul').css({'left': left_value});
			});
		});

		$('#next').bind('click', function(e, trigger)
		{
			e.preventDefault();

			(trigger === true ? false : clearTimeout(initial_delay));
			(trigger === true ? false : clearTimeout(autoplay_timer));

			//get the right position
			var left_indent = parseInt($('#slider ul').css('left'), 10) - item_width;

			$('#slider ul').not(':animated').animate(
			{
				'left': left_indent
			}, 1000, 'easeInOutCubic', function()
			{
				//move the first item and put it as last item
				$('#slider li:last').after($('#slider li:first'));

				//set the default item to correct position
				$('#slider ul').css({'left': left_value});
			});
		});
	}
});
