jQuery(document).ready(function($) {
	var newsbox = $('.slideshow');
    var numnewsitems = newsbox.children(".news_box_item").size();
	var numslides = parseInt((numnewsitems+2) / 3); // hopefully integer.
	//make slide elements
	$('<div class="slide">').append(newsbox.children('.news_box_item').slice(0,3)).appendTo(newsbox);
	$('<div class="slide">').appendTo(newsbox);
	$('<div id="slideshow_spares" style="display:none">').append(newsbox.children('.news_box_item')).appendTo(newsbox);
	firstslide=true;
	newsbox.cycle({
			fx: 'scrollHorz',
			timeout: 7000,
			speed: 1500,
			pause: 1,
			next: '#next',
			prev: '#prev',
			slideExpr:	'.slide',
			pauseOnPagerHover: true,
			before: function(currSlideElement, nextSlideElement, options, forwardFlag) {	
				if (!firstslide) {
					// assume at least 6 items in slideshow.
					var size = jQuery('#slideshow_spares').children('.news_box_item').size();
					var slicestart = (forwardFlag) ? 0 : Math.max(size-3,0)
					var sliceend = slicestart+3;
					jQuery('#slideshow_spares').children('.news_box_item').slice(slicestart,sliceend).appendTo(jQuery(nextSlideElement));
				}
			},
			after: function(currSlideElement, nextSlideElement, options, forwardFlag) {
				if (!firstslide) {
					if (forwardFlag) 
						jQuery(currSlideElement).children('.news_box_item').appendTo(jQuery('#slideshow_spares'));
					else 
						jQuery(currSlideElement).children('.news_box_item').prependTo(jQuery('#slideshow_spares'));
				}
				firstslide = false;
			}
	});
	newsbox.show();
});
