;$(document).ready(function()
{
	/* Top slider - initialise */ 
	
	var slideCont  = '#slCont';
	var slides     = $(slideCont).find('.slide');
	var slideCount = slides.length;
	var slideIdNum = 1;
	
	slides.each(function()
	{
		$(this).attr( 'id', 'sl'+slideIdNum );
		
		if( slideIdNum == 1 )
		{
			$('<li id="sn'+slideIdNum+'" class="sprite off"></li>').appendTo('#slNav');
		}
		else
		{
			$('<li id="sn'+slideIdNum+'" class="sprite on"></li>').appendTo('#slNav');
		}
		
		$('#sn'+slideIdNum).data( 'id', slideIdNum );
		$('#sl'+slideIdNum).data( 'id', slideIdNum );
		
		slideIdNum++;
	});
	
	var startSlide = $(slideCont).find('.slide:first').detach();
	startSlide.appendTo('#slBox');  
	$('#introSlider').data({ 'next': 2, 'count': slideCount, 'current' : 1, 'running' : false, 'stop' : false });
		
});


$(window).load(function()
{
	/* Top slider - run */
    
    var slMainEml    = $('#introSlider');
    var slideDoElm   = $('#slideIt');
    var slideBox     = '#slBox';
    var slideCont    = '#slCont';
    var slideSpeed   = 400;
    var slideEffect  = 'swing';
    var slideWidth   = 470;
    var slideTimeOut = 10000;
    var slidesCount  = slMainEml.data('count');
    var slTimer;
    
	function sliderStart()
	{
		slMainEml.removeClass('loader');
		slideDoElm.animate( {width:0}, slideSpeed, slideEffect, function()
		{
			$('#slideStart').remove();
			slideDoElm.css( 'width', slideWidth+'px' );
			
			slTimer = setTimeout( function(){ sliderNext(); }, slideTimeOut );
			
			$('#slNav').find('li').click(function()
			{
				var getToId = $(this).data('id');
				sliderUser( getToId );
			});
			
			slMainEml.hover(function()
			{
				clearTimeout(slTimer);
				slMainEml.data( 'stop' , true );
			},function()
			{
				clearTimeout(slTimer);
				slMainEml.data( 'stop' , false );
				slTimer = setTimeout( function(){ sliderNext(); }, slideTimeOut );
			});
		});
	};
	
	function sliderNext()
	{
		if( slMainEml.data('stop') == false )
		{
			clearTimeout(slTimer);
			
			if( slMainEml.data('running') != true )
			{
				var getNextId    = slMainEml.data('next');
				var getNextSlide = $('#sl'+getNextId).detach();
				
				getNextSlide.appendTo( slideBox );
				
				sliderDo();
				sliderSetNext( getNextId );
				
				slTimer = setTimeout( function(){ sliderNext(); }, slideTimeOut );
			}
			else
			{
				slTimer = setTimeout( function(){ sliderNext(); }, 100 );
			}
		}
	};
	
	function sliderUser( slideTo )
	{
		var slideActive = slMainEml.data('current');
		
		if( slideActive != slideTo )
		{
			if( slMainEml.data('running') != true )
			{	
				clearTimeout( slTimer );
				
				var getNextSlide = $('#sl'+slideTo).detach();
				
				getNextSlide.appendTo( slideBox );
				
				sliderSetNext( slideTo );
				sliderDo();
				
				slTimer = setTimeout( function(){ sliderNext(); }, slideTimeOut );
			}
		}
	};
	
	function sliderNav()
	{
		var markThis = slMainEml.data('current');
		
		$('#slNav').find('li.off').removeClass('off').addClass('on');
		$('#sn'+markThis).removeClass('on').addClass('off');
	};
	
	function sliderSetNext( current )
	{
		if( current == slidesCount )
		{
			var setNext = 1;
		}
		else
		{
			var setNext = current + 1;
		}
		
		slMainEml.data( 'next', setNext );
		slMainEml.data( 'current', current );
	};
	
	function sliderDo()
	{
		slMainEml.data( 'running', true );
		
		slideDoElm.animate( {width:0}, slideSpeed, slideEffect, function()
		{
			sliderNav();
			var oldSlide = $(slideBox).find('.slide:first').detach();
			oldSlide.appendTo(slideCont);  
			slideDoElm.css( 'width', slideWidth+'px' );
			slMainEml.data( 'running', false );
		});
	};
     
    sliderStart();
    
});
