// JavaScript Document
/**************************
*
**************************/
var arrCarrousel = new Array();
var effectA;
var effectB;
var periodical;
var startRollingDelay;
var currentIndex = 0;

var front = "A";
var back = "B";

function initCarrousel(){
	
	$('carrousel_panel').setStyle('opacity', 0.4);
	effectA = new Fx.Tween($('carrousel_image_A'), {duration: 300});
	effectB = new Fx.Tween($('carrousel_image_B'), {duration: 300});
	$('carrousel_image_'+front).setStyles({opacity: 0.0, 'z-index': 80});
	$('carrousel_image_'+back).setStyles({opacity : 1.0, 'z-index': 70});

	$$('.carrousel_sensor').each(function(divsensor){
			var index = arrCarrousel.length;
			arrCarrousel[index] = new Object();
			var tmp = divsensor.id.split("_");
			var id = tmp[1];
			arrCarrousel[index].text = $('carrouseltext_'+id).get('html');
			arrCarrousel[index].image = new Image();
			arrCarrousel[index].image.src = $('carrouselimage_'+id).src;
			
			
			// events
			divsensor.addEvent('mouseover', function(event){
				var tmp = this.id.split("_");
				var index = tmp[1];
				if (currentIndex!=index){
					currentIndex = index;
					activateSensor(this, index);
				}
			});
			
		}
		
	);
	
	$('carrousel_container').addEvent('mouseover', function(event){
		$clear(periodical);
		$clear(startRollingDelay);
	});
	
	$('carrousel_container').addEvent('mouseout', function(event){
		startRollingDelay = startRolling.delay(500);
	});
	
	activateSensor( $('carrouselsensor_0'), 0 );
	startRolling();
}

function startRolling(){
	periodical = activateNextSensor.periodical(4000);
}


function activateNextSensor(){
	currentIndex = (currentIndex+1) % 3;
	activateSensor( $('carrouselsensor_'+currentIndex), currentIndex );
}

function activateSensor(divsensor, index){
	
	deactivateSensors(divsensor.id);
	if (!divsensor.hasClass("carrouselactive")) divsensor.addClass("carrouselactive");
	$('carrousel_panel_text').set('html', arrCarrousel[index].text);
	
	var divBack = 'carrousel_image_'+back;
	var divFront = 'carrousel_image_'+front;

	$(divBack).setStyles({
		'background-image': 'url('+arrCarrousel[index].image.src+')',
		'z-index': 80
	});
	
	$(divFront).setStyles({
		'z-index': 70
	});
	
	var newOpacityForA = (front=="A")?0:1;
	var newOpacityForB = (front=="A")?1:0;
	
	effectA.cancel();
	effectB.cancel();
	effectA.start('opacity', newOpacityForA);
	effectB.start('opacity', newOpacityForB);
	
	var tmp=front;
	front = back;
	back = tmp;
	
}

function deactivateSensors(idActive){
	$$('.carrousel_sensor').each(function(divsensor){
		if (divsensor.id != idActive && divsensor.hasClass("carrouselactive")) divsensor.removeClass("carrouselactive");
	});
}
