jQuery(function($){

	var $main = $('#main'),
		$nav = $('#nav');
	var $intro = $('#intro', $main), 
		$features = $('#features', $main), 
		$showcase = $('#showcase', $main)
		$api = $('#api', $main);

	// intro
	var $i_spans = $('.desc span', $intro),
		$shot = $('#shot', $intro);
	var $i_counter = 0,
		$i_spans_length = $i_spans.length,
		interval;
	function i_slideshow(){			
		$i_spans.filter(".current").removeClass("current");
		$i_counter += 1;
		if ($i_counter == $i_spans_length){
			$i_counter = 0;
		}
		var $current = $i_spans.eq($i_counter);
		$current.addClass('current');
		var $rel = $current.attr('rel');
		$shot.fadeOut('fast', function(){
			$shot.attr('src', 'shots/'+$rel.substr($rel.indexOf(':')+1)+'.jpg');
			$shot.fadeIn('fast');
		});
	}
	function slideshow_start(){
		interval = window.setInterval(i_slideshow, 1800);
	}
	function slideshow_restart(){
		window.clearInterval(interval);
		slideshow_start();
	}
	$('.desc span', $intro).click(function(){
		$i_counter = $i_spans.index($(this)) - 1;
		i_slideshow();
		slideshow_restart();
	});
  slideshow_start();

	// history
	function switch_to($div){
		$main.children().not($div).hide();
		$('li.current', $nav).removeClass('current');
		$('li[rel="sec:'+$div.attr('id')+'"]').addClass('current');
		$div.fadeIn('fast');
	}

	if (location.href.indexOf('#', 0) === -1){
		location.href += '#intro';
		switch_to($intro);	
	}
	$.History.bind('intro', function(){ switch_to($intro); });
	$.History.bind('features', function(state){ switch_to($features); });
	$.History.bind('showcase', function(state){ switch_to($showcase); });
	$.History.bind('api', function(state){ switch_to($api); });
})

