/* Main Javascript
=============================================================================================*/

/* Onload ============================== */

$(document).ready( function()
{
	$('.hide').hide();
	
	slider.init();
	
	$("#commentform label").startlabel( { focusFirst: false } );
});


var slider = {
	
	slide_count: 0,
	slide_width: 0,
	current: 1,
	timer: 5000,
	interval: null,
	
	init: function()
	{
		var $slide = $('#featured .slider .slide');
		
		slider.slide_count = $slide.size();
		slider.slide_width = $slide.width();
		
		slider_width = slider.slide_count * slider.slide_width;
		
		$('#featured .slider').width( slider_width );
		
		if( $slide.size() <= 1 )
		{
			$('#featured .pages .inside').hide();
		}
		
		$slide.each( function( key )
		{
			$('#featured .pages .inside').append('<a href="#" onclick="slider.page( '+(key+1)+' ); return false;" class="page"></a>');
		});
		
		$('#featured .pages .page:first').addClass( 'on' );
		
		$('#featured .arrow-left').click( slider.prev );
		$('#featured .arrow-right').click( slider.next );
		
		slider.auto();
	},
	
	auto: function()
	{
		slider.interval = window.setInterval( function(){ slider.next(); }, slider.timer );
	},
	
	restart_auto: function()
	{
		window.clearInterval( slider.interval );
		slider.auto();
	},
	
	next: function()
	{
		slider.current = slider.current + 1;
		
		if( slider.current > slider.slide_count )
		{
			$('#featured .slider').animate( { left: [ '0px', 'easeInOutExpo' ] }, 'slow', function(){ slider.cycle(); } );
			slider.current = 1;
		}
		else
		{
			$('#featured .slider').animate( { left: [ '-='+slider.slide_width, 'easeInOutExpo' ] }, 'slow', function(){ slider.cycle(); } );
		}
		
		slider.restart_auto();
		
		return false;
	},
	
	prev: function()
	{
		slider.current = slider.current - 1;
		
		if( slider.current < 1 )
		{
			var last_position = ((slider.slide_count * slider.slide_width)-slider.slide_width);
			$('#featured .slider').animate( { left: [ '-'+last_position+'px', 'easeInOutExpo' ] }, 'slow', function(){ slider.cycle(); } );
			
			slider.current = slider.slide_count;
		}
		else
		{
			$('#featured .slider').animate( { left: [ '+='+slider.slide_width, 'easeInOutExpo' ] }, 'slow', function(){ slider.cycle(); } );
		}
		
		slider.restart_auto();
		
		return false;
	},
	
	cycle: function()
	{
		$('#featured .pages .on').removeClass('on');
		$('#featured .pages .page:eq('+( slider.current - 1 )+')').addClass('on');
	},
	
	page: function( num )
	{
		var page_location = ((num * slider.slide_width)-slider.slide_width);
		
		$('#featured .slider').animate( { left: [ '-'+page_location, 'easeInOutExpo' ] }, 'slow', function(){ slider.cycle(); } );
		
		slider.current = num;
		
		slider.restart_auto();
	}
	
};
