var moving = false;

window.addEvent('domready', function() {
	if ($('carousel')) {
		$('prev').addEvent('mousedown', function(event) {
			new Event(event).stop();
			moving = true;
			start_move_right(200);
		});
		$('prev').addEvent('mouseup', function(event) {
			new Event(event).stop();
			moving = false;
		});	
		$('prev').addEvent('click', function(event) {
			new Event(event).stop();
		});
		$('next').addEvent('mousedown', function(event) {
			new Event(event).stop();
			moving = true;
			start_move_left(200);
		});
		$('next').addEvent('mouseup', function(event) {
			new Event(event).stop();
			moving = false;
		});
		$('next').addEvent('click', function(event) {
			new Event(event).stop();
		});
		
		slider_setup();
	}
});
		
function slider_setup() {
	$('slider').style.visibility = 'hidden';
	for (var i = 0; i < $$('#slider>a').length; i++) {
		$$('#slider>a')[i].id = 'carousel-' + i;
	}
//	start_move_left(1);
	start_move_right(1,true);
	$('slider').style.visibility = 'visible';
}

function start_move_right(delay,force) {
	if (moving || force) {
		delay = delay || 250;
		var all_divs = $$('#slider>a');
		var moving_element = all_divs[all_divs.length-1].clone();
		moving_element.setStyle('width','0');
		all_divs[all_divs.length-1].dispose();
		for (var i = 0; i < all_divs.length; i++) {
			all_divs[i].id = 'carousel-'+(i+1);
		}
		moving_element.id = 'carousel-0';
		moving_element.inject($('slider'),'top');
		moving_element.set('tween', {duration: delay, transition: 'linear' });
		moving_element.tween('width','150');
		setTimeout("start_move_right(" + delay + ")",delay);
	}
}

function start_move_left(delay) {
	if (moving) {
		delay = delay ? delay : 250;
		$('carousel-0').set('tween', {duration: delay, transition: 'linear' });
		$('carousel-0').tween('width', '0');
		setTimeout("finish_move_left(" + delay + ")",delay);
	}
}
function finish_move_left(delay) {
	var moving_element = $('carousel-0').clone();
	
	$('carousel-0').dispose();
	
	var remaining_divs = $$('#slider>a');
	for (var i = 0; i < remaining_divs.length; i++) {
		remaining_divs[i].id = 'carousel-'+i;
	}
	moving_element.id = 'carousel-'+i++;
	moving_element.setStyle('width', '150px');
	moving_element.inject($('slider'));
	start_move_left(delay);
}