// JavaScript Document
window.addEvent('domready',  initialisation);

function initialisation()
{
    initMenuGauche();
    initCentre();
    slider();
}

function slider(){
	if($('sliderAgenda')){
		var el = $('sliderAgenda'),
		listeAgenda = $('listAgenda'),
		hauteurUtile = 120,
		hauteurTotal = listeAgenda.getHeight(),
		difference = hauteurTotal - hauteurUtile;
	
	
		if(difference > 0)
		{
			// Create the new slider instance
			new Slider(el, el.getElement('.knob'), {
				
				range: [0,difference],	// Minimum value is 8
				mode: 'vertical',
				onChange: function(value){
					// Everytime the value changes, we change the font of an element
					listeAgenda.setStyle('margin-top', -value);
				}
			})	
		}
	}
}
/**
 *  Gestion du menu de gauche
 */
function initMenuGauche()
{
    if($('menu_left'))
    {
        // click les item de la liste
        var tabListeSousMenu = $$('a.lien_ssmenu');
        var toHide = [];
        var duration = 200;
        tabListeSousMenu.each(function (lienListeSousMenu){
            try{
                 var mainLi = lienListeSousMenu.getParent();
                 var sousMenu = lienListeSousMenu.getParent().getElement('ul');
                 lienListeSousMenu.slideeffect = new Fx.Slide(sousMenu, {
                             duration: duration,
                             transition: Fx.Transitions.Sine.easeOut,
                             wait:true
                         });
                 toHide.push({
                    lien: lienListeSousMenu,
                    sousmenu: sousMenu
                    });
                 lienListeSousMenu.resized = false;
                 lienListeSousMenu.slideeffect.addEvent('complete', function(){
                	 if (!lienListeSousMenu.resized) {
                    	 var p = lienListeSousMenu.getParent('div');
                    	 if (p.id) return;
                    	 p.setStyle('height', p.getHeight().toInt() + lienListeSousMenu.getNext('div').getHeight().toInt());
                    	 lienListeSousMenu.resized = !lienListeSousMenu.resized
                	 }
                 })
                 lienListeSousMenu.slideeffect.addEvent('start', function(){
                	 if (lienListeSousMenu.resized) {
                    	 var p = lienListeSousMenu.getParent('div');
                    	 if (p.id) return;
                    	 p.setStyle('height', p.getHeight().toInt() - lienListeSousMenu.getNext('div').getHeight().toInt());
                    	 lienListeSousMenu.resized = !lienListeSousMenu.resized
                	 }
                 })
                 
                 lienListeSousMenu.addEvent('click', function(e){                	 
                     // On stoppe le pointage naturel du lien pour ne pas recharger la page
                     e = new Event(e).stop();
                     
                     // On ajoute la bonne class au lien
                     if(lienListeSousMenu.hasClass("current"))
                     {
                    	 lienListeSousMenu.removeClass.delay(duration+3,lienListeSousMenu,["current"]);
                     }
                     else
                     {
                    	 lienListeSousMenu.addClass("current");
                     }
                     if(sousMenu.hasClass("inv")){
                       sousMenu.removeClass("inv");
                     } else {
                       sousMenu.addClass("inv");
                     }
                     lienListeSousMenu.slideeffect.toggle();
                 });
            }catch(e){}
        });       
        toHide.each(function (th){
            if(th.sousmenu.hasClass('hide_level')){
                th.lien.slideeffect.hide();
            }        
        });
    }
}
/**
 *  Gestion centrage des éléments
 */
function initCentre()
{
    if($$('.centre'))
    {
    	var elemCentre = $$('.centre');
        for(i=0; i<elemCentre.length; i++){
        	var parent = elemCentre[i].getParent();
        	var diff = parent.offsetWidth - elemCentre[i].offsetWidth;
        	elemCentre[i].setStyle('margin-left', diff/2);
        }
    }
}
