// 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( $ ){ 
	
	 
$('#screen').serialScroll({
 target:'#sections',
 items:'li', // 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 take half this time)
 force:true, // Force a scroll to the element specified by 'start' (some browsers don't reset on refreshes)
queue:false,// We scroll on both axes, scroll both at the same time.
event:'click',// On which event to react (click is the default, you probably won't need to specify it)
stop:false,// Each click will stop any previous animations of the target. (false by default)
lock:true, // Ignore events if already animating (true by default)
start: 0, // On which element (index) to begin ( 0 is the default, redundant in this case )
cycle:true,// Cycle endlessly ( constant velocity, true is the default )
step:1, // How many items to scroll each time ( 1 is the default, no need to specify )
jump:false, // If true, items become clickable (or w/e 'event' is, and when activated, the pane scrolls to them)
lazy:false,// (default) if true, the plugin looks for the items on each event(allows AJAX or JS content, or reordering)
interval:1000, // It's the number of milliseconds to automatically go to the next
constant:true, // constant speed

 onBefore:function( e, elem, $pane, $items, pos ){ 
	e.preventDefault();
 if( this.blur )
 this.blur();
 },
 onAfter:function( elem ){
 //'this' is the element being scrolled ($pane) not jqueryfied
 }
 }); 
$('#slideshow').serialScroll({
 items:'li',
 prev:'#screen2 a.prev',
 next:'#screen2 a.next',
 offset: 0, //when scrolling to photo, stop 230 before reaching it (from the left)
 start: 0, //as we are centering it, start at the 2nd
 duration: 1000,
 force: true,
 stop: false,
 interval: 0,
 step: 1,
 axis: 'x',
 event: 'click',
 lock: false,
 constant: true,
 cycle: false, //don't pull back once you reach the end
 easing: 'easeOutQuart', //use this easing equation for a funny effect
 jump: true //click on the images to scroll to them
 }); 
 
var $news = $('#news-ticker');//we'll re use it a lot, so better save it to a var.
 /*
$news.serialScroll({
 items:'div',
 duration:4000,
 force:true,
 axis:'y',
 start:1,
 stop:false,
 lock:false,
 constant:true,
 easing:'easeOutQuart',
 cycle:true,
 lazy:true,// NOTE: it's set to true, meaning you can add/remove/reorder items and the changes are taken into account.
 interval:1, // yeah! I now added auto-scrolling
 step:1 // scroll 1 news each time
 }); */
 
var $article = $('#art');
 $article.serialScroll({
 items:'div',
 prev:'#article_container a.art_prev',
 next:'#article_container a.art_next',
 duration:500,
 force:false,
 axis:'y',
 start:1,
 stop:false,
 lock:false,
 constant:true,
 easing:'easeOutQuart',
 cycle:true,
 lazy:true,// NOTE: it's set to true, meaning you can add/remove/reorder items and the changes are taken into account.
 interval:0, // yeah! I now added auto-scrolling
 step:4 // scroll 1 news each time
 }); 
 
 var originalSizes = new Array();
		//	$('#pane5').jScrollHorizontalPane({scrollbarHeight:10, scrollbarMargin:0});
			// this initialises the demo scollpanes on the page.
		//	$('#pane1').jScrollHorizontalPane({showArrows:true});
			
 
 $('#add-news').click(function(){
 var
 $items = $news.find('div'),
 num = $items.length + 1;

 $items.slice(-2).clone().find('h4').each(function(i){
 $(this).text( 'News ' + (num + i) );
 }).end().appendTo($news);
 });
 $('#shuffle-news').click(function(){//don't shuffle the first, don't wanna deal with css
 var shuffled = $news.find('div').get().slice(1).sort(function(){
 return Math.round(Math.random())-0.5;//just a random number between -0.5 and 0.5
 });
 $(shuffled).appendTo($news);//add them all reordered
 });
 
 
});

