// Easing equation, borrowed from jQuery easing plugin
// http://gsgd.co.uk/sandbox/jquery/easing/
jQuery.easing.easeOutQuart = function (x, t, b, c, d) {
	return -c * ((t=t/d-1)*t*t*t - 1) + b;
};

jQuery(function( $ ){
	/**
	 * IMPORTANT: this call to the plugin specifies ALL the settings (plus some of jQuery.ScrollTo)
	 * This is done so you can see them. You DON'T need to specify the commented ones.
	 * A 'target' is specified, that means that #screen is the context for target, prev, next and navigation.
	 */
	$('#screen').serialScroll({
		target:'#sections',
		items:'.sub', // Selector to the items ( relative to the matched elements, '#sections' in this case )
		prev:'img.prev',// Selector to the 'prev' button (absolute!, meaning it's relative to the document)
		next:'img.next',// Selector to the 'next' button (absolute too)
		axis:'xy',// The default is 'y' scroll on both ways
		navigation:'#navigation li a',
		duration:700,// Length of the animation (if you scroll 2 axes and use queue, then each axis will take half this time)
		force:false, // Force a scroll to the element specified by 'start' (some browsers don't reset on refreshes)
		constant:true, // constant speed
		
		
		onBefore:function( e, elem, $pane, $items, pos ){
			/**
			 * 'this' is the triggered element 
			 * e is the event object
			 * elem is the element we'll be scrolling to
			 * $pane is the element being scrolled
			 * $items is the items collection at this moment
			 * pos is the position of elem in the collection
			 * if it returns false, the event will be ignored
			 */
			 //those arguments with a $ are jqueryfied, elem isn't.
			e.preventDefault();
			if( this.blur )
				this.blur();
		},
		onAfter:function( elem ){
			//'this' is the element being scrolled ($pane) not jqueryfied
		}
	});
	
	
	$('#s-screen').serialScroll({
		target:'#s-sections',
		items:'li', // Selector to the items ( relative to the matched elements, '#sections' in this case )
		axis:'xy',// The default is 'y' scroll on both ways
		navigation:'#s-navigation li a',
		duration:700,// Length of the animation (if you scroll 2 axes and use queue, then each axis will take half this time)
		force: false, // Force a scroll to the element specified by 'start' (some browsers don't reset on refreshes)
		constant: false, // constant speed
		lock:false, // Ignore events if already animating (true by default)	
		

		onBefore:function( e, elem, $pane, $items, pos ){
			/**
			 * 'this' is the triggered element 
			 * e is the event object
			 * elem is the element we'll be scrolling to
			 * $pane is the element being scrolled
			 * $items is the items collection at this moment
			 * pos is the position of elem in the collection
			 * if it returns false, the event will be ignored
			 */
			 //those arguments with a $ are jqueryfied, elem isn't.
			e.preventDefault();
			if( this.blur )
				this.blur();
		},
		onAfter:function( elem ){
			//'this' is the element being scrolled ($pane) not jqueryfied
		}
	});
	
	$('#cl-screen').serialScroll({
		target:'#cl-sections',
		items:'li', // Selector to the items ( relative to the matched elements, '#sections' in this case )
		axis:'xy',// The default is 'y' scroll on both ways
		navigation:'#cl-navigation li a',
		duration:900,// Length of the animation (if you scroll 2 axes and use queue, then each axis take half this time)
		force: false, // Force a scroll to the element specified by 'start' (some browsers don't reset on refreshes)
		constant: false, // constant speed
		lock:false, // Ignore events if already animating (true by default)	
		

		onBefore:function( e, elem, $pane, $items, pos ){
			/**
			 * 'this' is the triggered element 
			 * e is the event object
			 * elem is the element we'll be scrolling to
			 * $pane is the element being scrolled
			 * $items is the items collection at this moment
			 * pos is the position of elem in the collection
			 * if it returns false, the event will be ignored
			 */
			 //those arguments with a $ are jqueryfied, elem isn't.
			e.preventDefault();
			if( this.blur )
				this.blur();
		},
		onAfter:function( elem ){
			//'this' is the element being scrolled ($pane) not jqueryfied
		}
	});
	


});