/***** Slider *****/

var slideCount = 0;
var slideWidth;
var slideHeight;
var slideCountNum;
var timeout;
var stop = true;

//Change the below values to suit you

var slideContainer = 'div.slider';
var slideInterval = 7000;
var speed = 700;
var easing = 'easeInOutCubic';
var prevButton = 'div.prev';
var nextButton = 'div.next';

$(function() {

	var slider = $(slideContainer);
	
	//Gets width and height of slider div
	
	slideWidth = slider.width();
	slideHeight = slider.height();
	
	//Counts children and positions them
	
	slider.find('ul li').each(function() {
		slideCount++;
		$(this).css('left', slideWidth*(slideCount-2));
		if($(this).css('left')==0+'px')
			$(this).addClass('current');
		else
			$(this).removeClass('current');
	});
	
	slideCountNum = slideCount-slideCount+1;
	
	//Show controls if there's more than one slide
	
	if(slideCount>1)
		slider.find('div.prev, div.next').show();
		
	//Set the variable timeout to start the sliding
	
	timeout = setTimeout('slideGallery()', slideInterval);
	
	//Clear timeout on hover on slider div
	
	slider.hover(function() {
		stop = true;
		if(stop == true)
			clearTimeout(timeout);
	}, function() {
		stop = false;
		if(stop == false)
			timeout = setTimeout('slideGallery()', slideInterval);
	});
	
	//Call the previous/next/pause/play functions on click of controls
	
	$('div.prev').click(function() {
		slideGalleryPrev();
	});
	
	$('div.pause').click(function() {
		$(this).hide();
		$('div.play').show();
		stop = true;
		clearTimeout(timeout);
	});
	
	$('div.play').click(function() {
		$(this).hide();
		$('div.pause').show();
		stop = false;
	});
	
	$('div.next').click(function() {
		slideGalleryNext();
	});
	
});

//Automatic sliding

function slideGallery() {

	var slider = $(slideContainer);
	
	if(slideCount>1)
	{
		slider.find('ul li').each(function() {
			$(this).delay(350).animate({ left: '-='+slideWidth }, speed, easing, function() {
				if($(this).css('left')==-slideWidth*(slideCount-1)+'px')
					$(this).css('left', slideWidth*(slideCountNum)+'px');
					
				if($(this).css('left')==0+'px')
					$(this).addClass('current');
				else
					$(this).removeClass('current');
				
				if($(this).hasClass('current'))
					$(this).find('div.info').delay(100).show().animate({
						right: 0
					}, 350);
			});
		});
		
		$('div.home div.slider ul li div.info').animate({
			right: -206+'px'
		}, 350, function() {
			$(this).hide();
		});
	}
	
	timeout = setTimeout('slideGallery()', slideInterval);
	
}

//Previous button function

function slideGalleryPrev() {

	var slider = $(slideContainer);
	
	if(slideCount>1)
	{
		slider.find('ul li').each(function() {
			if(!$(this).is(':animated'))
			{
				$(this).delay(350).animate({ left: '+='+slideWidth }, speed, easing, function() {
					if($(this).css('left')==slideWidth*(slideCount-1)+'px')
						$(this).css('left', -slideWidth*(slideCountNum)+'px');
						
					if($(this).css('left')==0+'px')
						$(this).addClass('current');
					else
						$(this).removeClass('current');
					
					if($(this).hasClass('current'))
						$(this).find('div.info').delay(100).show().animate({
							right: 0
						}, 350);
				});
			}
		});
		
		$('div.home div.slider ul li div.info').animate({
			right: -206+'px'
		}, 350, function() {
			$(this).hide();
		});
	}
	
}

//Next button function

function slideGalleryNext() {

	var slider = $(slideContainer);
	
	if(slideCount>1)
	{
		slider.find('ul li').each(function() {
			if(!$(this).is(':animated'))
			{
				$(this).delay(350).animate({ left: '-='+slideWidth }, speed, easing, function() {
					if($(this).css('left')==-slideWidth*(slideCount-1)+'px')
						$(this).css('left', slideWidth*(slideCountNum)+'px');
						
					if($(this).css('left')==0+'px')
						$(this).addClass('current');
					else
						$(this).removeClass('current');
					
					if($(this).hasClass('current'))
						$(this).find('div.info').delay(100).show().animate({
							right: 0
						}, 350);
				});
			}
		});
		
		$('div.home div.slider ul li div.info').animate({
			right: -206+'px'
		}, 350, function() {
			$(this).hide();
		});
	}
	
}
