$(document).ready(function() {
	var $panels = $('#slider .scrollContainer > div');
	var $container = $('#slider .scrollContainer');
	var horizontal = true;
	
	if (horizontal) {
		$panels.css({
			'float' : 'left'
		});
		$container.css('width', $panels[0].offsetWidth * $panels.length);
		//$container.css('width', $panels[0].offsetWidth * $panels.length / 3);
	}

	var $scroll = $('#slider .scroll').css('overflow', 'hidden');
	
	function selectNav() {
		$(this)
			.parents('ul:first')
				.find('a')
					removeClass('selected')
				.end()
			.end()
			.addClass('selected');
	}

	//Add this if you have navigation
	//$('#slider .navigation').find('a').click(selectNav);

	function trigger(data){
		var el = $('#slider .navigation').find('a[href$="' + data.id + '"]').get(0);
		selectNav.call(el);
	}
	
	if(window.location.hash && $('#slider .naviagtion').length > 0){
		trigger({id: window.location.hash.substr(1)});
	}else{
		$('ul.navigation a:first').click();
	}
	
	var scrollOptions = {
		target: $scroll,
		items: $panels,
		navigation: '.navigation a',
		prev: 'a.left',
		next: 'a.right',
		axis: 'xy',
		duration: 500,
		offset: -32,
		easing: 'swing' //Don't forget your commas
		//onAfter: trigger //Add this if you have navigation
	};


	$('#slider').serialScroll(scrollOptions);
	
	$.localScroll(scrollOptions);
	
	scrollOptions.duration = 1;
	$.localScroll(scrollOptions);
	
	var $buttons = $('a.right').add('a.left').add('#scroll-left').add('#scroll-right').hide();
	// start to automatically cycle the tabs
	var cycleTimer = setInterval(function () {
		 $scroll.trigger('next');
	}, 3000);

	// select some trigger elements to stop the auto-cycle
	var $stopTriggers = $('#slider .navigation').find('a').add('.scroll');

	// this is the function that will stop the auto-cycle
	function stopCycle() {
		clearInterval(cycleTimer); // stop the auto-cycle itself
		$buttons.fadeIn(); // show the navigation buttons
	}
	
	// this is the function that will restart the auto-cycle
	function startCycle(){
		cycleTimer = setInterval(function () {$scroll.trigger('next');}, 3000);
		$buttons.fadeOut();
	}
	
	var hoverOptions = {
		sensitivity: 3, // number = sensitivity threshold (must be 1 or higher)
		interval: 100, // number = milliseconds for onMouseOver polling interval
		over: stopCycle, // function = onMouseOver callback (REQUIRED)
		timeout: 500, // number = milliseconds delay before onMouseOut
		out: startCycle // function = onMouseOut callback (REQUIRED)
	};
	
	$stopTriggers.hoverIntent(hoverOptions);
});
