document.observe("dom:loaded", function() {
	if (
		$('carousel_main') == null || 
		( $('content_area') != null && $('content_area').hasAttribute('contenteditable') ) 
	) return false;

	// structure variables
	var slides = $('carousel_main').select('> .slide');
	if ( slides.length < 2 ) return false;
	slides.push( $(slides.first().cloneNode(true)) );
	
	var wrapper = new Element('div', { 'class': 'wrapper' });
	slides.each(function(slide, i) {
		wrapper.appendChild(slide);
	});
	
	var viewport = new Element('div', { 'class': 'viewport' }).update(wrapper);
	
	$('carousel_main').update(viewport);
	$('carousel_main').appendChild( new Element('a', { 'class': 'carousel-control left', href: 'javacript:', rel: 'prev' }).update('&lt;') );
	$('carousel_main').appendChild( new Element('a', { 'class': 'carousel-control right', href: 'javacript:', rel: 'next' }).update('&gt;') );

	// controller variables
	var controls = $('carousel_main').select('> .carousel-control');
		
	// adjust style
	$('carousel_main').addClassName('active');
	wrapper.setStyle({
		'width': ( $('carousel_main').getWidth() * slides.length )+'px'
	});
	
	// init the carousel
	new Carousel(viewport, slides, controls, {auto: true, circular: true});
	return true;
});

