var menuTimer = null;
var oppenedMenu = null;
var menuNumber = 0;
var menuItem = new Array();
var imageList = new Array();
var currentImage = 0;
window.addEvent('domready', function()
{
	$$('#MENU dl').each(function(item)
	{
		item.rel = ++menuNumber;
		menuItem[menuNumber] = item;
		
		var dt = item.getElement('dt');
		var dd = item.getElement('dd');
		if ( dd )
		{
			dt.addEvent('mouseover', function()
			{
				if ( menuTimer )
					clearTimeout(menuTimer);
					
				if ( oppenedMenu && oppenedMenu != dt.getParent().rel )
				{
					menuItem[oppenedMenu].getElement('dd').setStyle('display', 'none');
				}
					
				dd = dt.getParent().getElement('dd');
				dd.setStyle('display', 'block');
				
				oppenedMenu = dt.getParent().rel;
			});
			dd.addEvent('mouseover', function()
			{
				if ( menuTimer )
					clearTimeout(menuTimer);
				
				oppenedMenu = dt.getParent().rel;
			});
			dt.addEvent('mouseout', function()
			{
				menuTimer = setTimeout(function() 
				{
					$$(this).getParent().getElement('dd');
					dd.setStyle('display', 'none');
				}, 300);
			});
			dd.addEvent('mouseout', function()
			{
				menuTimer = setTimeout(function() 
				{
					$$(this).getParent().getElement('dd');
					dd.setStyle('display', 'none');
				}, 300);
			});
		}
	});
	
	new Accordion('dl.accordion dt.accordionTitle',	'dl.accordion dd.accordionContent',
	{
		alwaysHide:false, // empeche de refermer l'element ouvert
		
		onActive: function(el)
		{
			el.addClass('active');
			el.getParent().getElement('.accordionContent').addClass('active');
		},
		onBackground: function(el)
		{
			el.removeClass('active');
			el.getParent().getElement('.accordionContent').removeClass('active');
		}
	});

	$$('#headerImage img').each(function(item)
	{
		imageList[currentImage] = item;
		if ( currentImage > 0 )
			item.setStyle('display', 'none');
		currentImage ++;
	});
	
	currentImage = 0;

	setTimeout(function() {
		diaporama();
	}, 12000);

});

function diaporama() 
{
	imageToHide = imageList[currentImage];

	currentImage ++;
	if ( currentImage < 0 || currentImage >= imageList.length )
		currentImage = 0;

	imageToShow = imageList[currentImage];
	
	imageToHide.setStyle('zIndex', 10);
	imageToShow.setStyle('zIndex', 5);

	imageToShow.setStyle('display', 'block');

	imageToShow.setAttribute('id', 'imageToShow');
	imageToHide.setAttribute('id', 'imageToHide');

	opacity('imageToShow', 1, 100, 800);
	opacity('imageToHide', 100, 1, 800);

	setTimeout(function() {
		diaporama();
	}, 8000);
}

function opacity(obj, opacStart, opacEnd, millisec) 
{
	var speed = Math.round(millisec / 100);
	var timer = 0;
	var current;

	 //determine the direction for the blending, if start and end are the same nothing happens
	if(opacStart > opacEnd) 
	{
		for(i = opacStart; i >= opacEnd; i--) 
		{
			setTimeout('changeOpacity("'+ obj +'", '+ (i/100) +')', (timer*speed));
			timer++;
		}
	} 
	else if(opacStart < opacEnd) 
	{
		for(i = opacStart; i <= opacEnd; i++) 
		{
			setTimeout('changeOpacity("'+ obj +'", '+ (i/100) +')', (timer*speed));
			timer++;
		}
	} 
}

function changeOpacity(id, opac) 
{
	$(id).setStyle('opacity', opac);
}

var hpo_toolbox_countchange = 0;
var hpo_toolbox_items_nr = 0;
var hpo_toolbox_items = new Array();
function changeTextSize(val) {
    
	if ( (hpo_toolbox_countchange <= -4 && val < 0) || 
		 (hpo_toolbox_countchange >= 4 && val > 0) )
		return false;
		
	hpo_toolbox_countchange += val;
		
    var container = $$('#LEFT');
    hpo_toolbox_resizeText(container, val);
    
    hpo_toolbox_items.each(function (item, key)
    {
    	if ( item[1] > 0 )
    		item[0].setStyle('fontSize', item[1] +'px');
    		
    	hpo_toolbox_items[key] = null;
    });
    hpo_toolbox_items_nr = 0;
}

function hpo_toolbox_resizeText(element, moveSize)
{
    element = $$(element);
    elementList = element.getChildren();
    if ( elementList.length > 0 )
    {
        elementList.each(function(item) 
        {
            item.each(function(el) 
            {
                size = el.getStyle('fontSize').toInt();
                newSize = eval(size + moveSize);
        
        		hpo_toolbox_items[hpo_toolbox_items_nr] = new Array();
        		hpo_toolbox_items[hpo_toolbox_items_nr][0] = el;
        		hpo_toolbox_items[hpo_toolbox_items_nr][1] = newSize;
        		++ hpo_toolbox_items_nr;
        		
                hpo_toolbox_resizeText(el, moveSize);
            });
        });
    }
}
