var fleche_morph_ok = true;
var fleche_effect = null;
var menu_over = new Hash();
var menu_selected = '';
var data_morph_ok = true;

function Move(id,sens)
{
	if (fleche_effect != null) fleche_effect.cancel();
	fleche_morph_ok = false;
	$(id).setStyle({opacity: '0.3', filter: 'alpha(opacity=30)' });
    new Effect.MoveBy('BigBox', 0, sens * 474 , 
                              {
                                  duration: 0.4,  
                                  transition: Effect.Transitions.sinoidal,
								  afterFinish : function(){ fleche_morph_ok = true;}
                              });
	/* recherche premier id menu */
	menu_id = 'menu' + id.substring(2,id.length) + '_1';
	// alert(menu_id);
	MenuOver(menu_id);
	MenuClic(menu_id);
}
function MoveLeft(id)  { Move(id,1); }
function MoveRight(id) { Move(id,-1); }

function FlecheOpacity(id,opacity)
{
	if (fleche_morph_ok == false) return;
	if (fleche_effect != null) fleche_effect.cancel();
	opacity100 = opacity/100;
	str_opacity = opacity100.toString();
	fleche_effect = new Effect.Morph(id ,
		{
			style : { opacity: str_opacity, filter: 'alpha(opacity='+opacity+')' }, 
			duration : 0.4 ,
			transition : Effect.Transitions.sinoidal,
			afterFinish : function(){ fleche_effect = null;}
		});

	return false;
}
function FlecheOver(id) { FlecheOpacity(id,100); }
function FlecheOut(id) { FlecheOpacity(id,30); }

function MenuAnim(id,position)
{	
	if (id == menu_selected) return;
	if (! Object.isUndefined(menu_over.get(id))) { 
		menu_over.get(id).cancel();
	}
	menu_over.set(id,new Effect.Morph(id ,
		{
			style : { 'background-position' : position }, 
			duration : 0.3 ,
			transition : Effect.Transitions.sinoidal,
			afterFinish : function(){ menu_over.unset(id); }
		}));
}

function MenuOut(id)  { MenuAnim(id,'216px 0'); }
function MenuOver(id) {	MenuAnim(id,'0 0');     }

function MenuFirstClic(id)
{
	data_morph_ok = false;
	$('ScrollBox').addClassName('go2008_ScrollBox');
	$('BigBox').addClassName('go2008_BigBox');
	// enfant de BigBox : class passe de block_main_menu à block
	child = $('BigBox').childElements();
	child.each(function(c){ 
		c.removeClassName('block_main_menu');
		c.addClassName('block');
	 });
	// flehces
	fleche = $$('img.fleche');
	fleche.each(function (f) { f.show(); } );
	
	MenuAnim(id,'-216px 0'); 
	menu_selected = id;
	$(menu_selected).setStyle({color: '#FFFFFF'});
	data_selected = 'data' + menu_selected.substring(4,menu_selected.length);
	
	sens = -1 * ( parseInt(menu_selected.substring(4,5)) - 1);

	new Effect.MoveBy('BigBox', 0, sens * 474 , { transition: Effect.Transitions.full });
	
	$(menu_selected).setStyle({color: '#FFFFFF'});
	$('go2008_data').show();
	Effect.SlideDown(data_selected, { 
				duration : 0.3 ,
				transition: Effect.Transitions.sinoidal,
				afterFinish : function(){ data_morph_ok = true; } 
				})
}

function MenuClic(id)
{
	if (menu_selected == "") { MenuFirstClic(id); return }
	if (data_morph_ok == false) return;
	if (id == menu_selected) return;
	data_morph_ok = false;
	old_menu = menu_selected;
	old_data = 'data' + menu_selected.substring(4,menu_selected.length);
	MenuAnim(id,'-216px 0'); 
	menu_selected = id;
	data_selected = 'data' + menu_selected.substring(4,menu_selected.length);
	// remplacement des styles
	$(old_menu).setStyle({color: '#000000', 'background-position': '0 0' });
	$(menu_selected).setStyle({color: '#FFFFFF'});
	
	MenuOut(old_menu);
	/* masquage ancien contenu */
	Effect.SlideUp(old_data, { 
		duration : 0.3,
		afterFinish : function(){ 
			Effect.SlideDown(data_selected, { 
				duration : 0.3 ,
				transition: Effect.Transitions.sinoidal,
				afterFinish : function(){ data_morph_ok = true; } 
				})
			}
	 });
}
