var slide= slide || function (direction, container) {
	var sliderContainer = container.down('.slider-container');
	var itemsPerVP = (sliderContainer.getWidth() /sliderContainer.down('.item').getWidth()).floor();
	var itemsTotal = sliderContainer.select('.item').length;
	var currentOffset = sliderContainer.down('.slider').positionedOffset().left;
	var firstItem = sliderContainer.down('.item');  
	var offset = (parseInt(sliderContainer.down('.item').getStyle('margin-right').match(new RegExp("[0-9]*"))) + sliderContainer.down('.item').getWidth()) * itemsPerVP;
	if(direction =="forward" && offset * ((itemsTotal/itemsPerVP).ceil() - 1) != currentOffset.abs()) {
		new Effect.Move(sliderContainer.down('.slider'), {x: -(offset), y: 0, mode: 'relative', transition: Effect.Transitions.sinoidal, duration: 0.6, queue: { position: 'end', scope: 'sliderqueue', limit: 1 }, afterFinish: function() { if (0 != sliderContainer.down('.slider').positionedOffset().left.abs()) {container.down('.back').removeClassName('fade');}; if (offset * ((itemsTotal/itemsPerVP).ceil() - 1) == sliderContainer.down('.slider').positionedOffset().left.abs()) {container.down('.forward').toggleClassName('fade');} } });
	} else if(direction == "backward" && currentOffset != 0) {
		new Effect.Move(sliderContainer.down('.slider'), {x: offset, y: 0, mode: 'relative', transition: Effect.Transitions.sinoidal, duration: 0.6, queue: { position: 'end', scope: 'sliderqueue', limit: 1 }, afterFinish: function() {  if (offset * ((itemsTotal/itemsPerVP).ceil() - 1) != sliderContainer.down('.slider').positionedOffset().left.abs()) {container.down('.forward').removeClassName('fade');}; if (0 == sliderContainer.down('.slider').positionedOffset().left.abs()) {container.down('.back').toggleClassName('fade');} } });
	}
};