function nextItem()
{
	if(settings.move_amount >= 4) return;
	
	scroller_ie6fix.stop();	
	++settings.current;
	stopSlide();
	startSlide();
	
	slide();
}

function prevItem()
{
	if(settings.move_amount >= 4) return;
	
	scroller_ie6fix.stop();	
	--settings.current;
	
	stopSlide();
	startSlide();
	
	slide();
}

function slide()
{
	++settings.move_amount;
	
	if(settings.current == -1)
	{
		settings.current = settings.total - 1;
		var left = parseInt(scroller_ie6fix.css('left'));
		scroller_ie6fix.css('left', (left - settings.pos[settings.total]) + 'px');
	}
	else if(settings.current == settings.total + 1)
	{
		settings.current = 1;
		scroller_ie6fix.css('left', (parseInt(scroller_ie6fix.css('left')) + settings.pos[settings.total]) + 'px');
	}
	
	scroller_ie6fix.animate({left: - settings.pos[settings.current]}, 800, 'easeInOutQuad',  endOfSlide);	
}

function endOfSlide()
{
	settings.move_amount = 0;
}

function startSlide(milliseconds)
{
	settings.interval	= setInterval(nextItem, 3500);
}
function stopSlide()
{
	clearInterval(settings.interval);
}

$(function()
{
	if( $('.slideshow_item').length > 5)
	{
		$('#slideshow_center').wrapInner('<div id="scroller" style="position:absolute;left:0" />');
		scroller_ie6fix = $('#scroller');
		
		$('.slideshow_item').clone().prependTo(scroller_ie6fix);
		
		var width	= 213;
		var count	= $('.slideshow_item').length;

		scroller_ie6fix.width( width * count );
		
		// save position of every element (used for scrolling)
		scroller_pos = [];
		$('.slideshow_item').each(function(){scroller_pos.push($(this).position()['left'])});
		for(var i=0;i<count;i++){scroller_pos.push(i*width);};
		
		$('#slideshow_left').css('cursor', 'pointer');
		$('#slideshow_right').css('cursor', 'pointer');
		
		$('#slideshow_left').click(prevItem);
		$('#slideshow_right').click(nextItem);
		
		settings = {};
		settings.total		= count/2;
		settings.current	= 0;
		settings.pos		= scroller_pos;
		settings.move_amount= 0;
		
		startSlide();
	}
});