jQuery(document).ready (function () {
	var objects = jQuery('div#slider div.slider-object').length;
	var object_width = parseInt (jQuery('div#slider div.slider-object').css ('width')) + 0;
	var slider_width = ((object_width
			+ 0)
			* objects);

	jQuery('div#slider').css ('width', slider_width);
	jQuery('div#viewport').data ('at_position', 0);
	
	jQuery('div#viewport').data ('skip', true);
	
	jQuery(document).ready (function () {
	jQuery('div.control').click (function () {
		var dir = jQuery(this).attr ('rel');
		slide (dir, false);
		});
	});
	
	jQuery('div.control.right').click();
	
});

function slide (dir, auto)
{
	var objects = jQuery('div#slider div.slider-object').length;
	var viewport_width = parseInt (jQuery('div#viewport').css ('width'));
	var object_width = parseInt (jQuery('div#slider div.slider-object').css ('width')) + 0;
	var slider_width = ((object_width
			+ 0)
			* objects);
	var pos = jQuery('div#viewport').data ('at_position');
	var visible = Math.round (viewport_width / object_width);
	
	if (jQuery('div#viewport').data ('skip') == true)
	{
		jQuery('div#viewport').data ('skip', false);
		return;
	}
	
	switch (dir)
	{
		case 'left':	pos = (pos - 1 < 0) ? (objects - visible) : (pos - 1);
				break;
		case 'right':	pos = (pos + 1 > objects - visible) ? 0 : pos + 1;
				break;
		default:	alert ('this should not happen!'); break;
	}

	jQuery('div#viewport').data ('at_position', pos);
	var left = -(pos * object_width);
	jQuery('div#slider').animate ({'left': left});
}
