/**
*	DEFILEMENT MENU GAUCHE MAGASIN
*
*/
isDefilement = true ;

var iHauteur = 0;
var iPas = 0;
var iSeuil;
var iTimer;
var oMenuGaucheDefilant;
var oMenuGauche;
var iHauteurMenuGaucheDefilant;
var iHauteurMenuGauche;
var oFlecheHaut;
var oFlecheBas;

function defilementHaut(){
	defilement(10);
}

function defilementBas(){
	defilement(-10);
}

function defilement(iInt) {
	iPas = iInt ;
	oFlecheHaut.src = _jspath['images'] + 'site/menu_gauche_fleche_haut.gif' ;
	oFlecheBas.src = _jspath['images'] + 'site/menu_gauche_fleche_bas.gif' ;
	subDefilement(oFlecheHaut, oFlecheBas, oMenuGaucheDefilant);
}

function subDefilement(oFlecheHaut, oFlecheBas, oMenuGaucheDefilant) {
	if ( (iHauteur+iPas) >= 0 ) {
		oFlecheHaut.src = _jspath['images'] + 'site/menu_gauche_fleche_haut_inactif.gif';
	} else if ( (iHauteur+iPas) <= iSeuil) {
		oFlecheBas.src = _jspath['images'] + 'site/menu_gauche_fleche_bas_inactif.gif';
	} else {
		iHauteur += iPas ;
		oMenuGaucheDefilant.style.top = iHauteur + 'px' ;
		iTimer = setTimeout('subDefilement(oFlecheHaut, oFlecheBas, oMenuGaucheDefilant)', 50);
	}
}

function positionneDefilement() {
	var arrayOElt = document.getElementsByClassName('select', 'div', oMenuGaucheDefilant) ;
	if ( arrayOElt[0] ) {
		var iHauteurEltSelectionne = -arrayOElt[0].offsetTop ;
		if ( iSeuil > iHauteurEltSelectionne ) {
			iHauteurEltSelectionne = iSeuil ;
		} else {
			oFlecheBas.src = _jspath['images'] + 'site/menu_gauche_fleche_bas.gif' ;
		}
		iHauteur += iHauteurEltSelectionne ;
		if ( iHauteur ) {
			oFlecheHaut.src = _jspath['images'] + 'site/menu_gauche_fleche_haut.gif' ;
		}
		oMenuGaucheDefilant.style.top = iHauteurEltSelectionne + 'px' ;
	} else {
		oFlecheBas.src = _jspath['images'] + 'site/menu_gauche_fleche_bas.gif' ;
	}
}

function arretDefilement() {
	clearTimeout(iTimer);
}

function initDefilement() {
	if ( document.getElementById('menuGaucheDefilant') ) {
		oMenuGaucheDefilant = document.getElementById('menuGaucheDefilant') ;
		oMenuGauche = document.getElementById('menuGauche') ;
		iHauteurMenuGaucheDefilant = oMenuGaucheDefilant.offsetHeight ;
		iHauteurMenuGauche = oMenuGauche.offsetHeight ;
		oFlecheHaut = document.getElementById('flecheHaut') ;
		oFlecheBas = document.getElementById('flecheBas') ;
		iSeuil = parseInt(iHauteurMenuGauche - iHauteurMenuGaucheDefilant) ;
		if ( iSeuil <= 0 ) {
			positionneDefilement() ;
			globalAttachEvent(window, 'onmouseup', arretDefilement) ;
			globalAttachEvent(document.getElementsByTagName('body')[0], 'onmouseup', arretDefilement) ;
			globalAttachEvent(oFlecheHaut, 'onmouseout', arretDefilement) ;
			globalAttachEvent(oFlecheHaut, 'onmousedown', defilementHaut) ;
			globalAttachEvent(oFlecheBas, 'onmouseout', arretDefilement) ;
			globalAttachEvent(oFlecheBas, 'onmousedown', defilementBas) ;
		} else {
			oMenuGauche.style.height = iHauteurMenuGaucheDefilant + 'px' ;
		}
		if (window.addEventListener) oMenuGauche.addEventListener('DOMMouseScroll', wheel, false) ;
		oMenuGauche.onmousewheel = wheel;
	}
}

function handle(delta) {
	for (var i=0;i<40;i++) {
		defilement(delta) ;
		arretDefilement() ;
	}
}

/** Event handler for mouse wheel event.
 */
function wheel(event){
	var delta = 0;
	 /* For IE. */
	if (!event) event = window.event;
	 /* IE/Opera. */
	if (event.wheelDelta) {
		delta = event.wheelDelta/120;
		/** In Opera 9, delta differs in sign as compared to IE. */
		if (window.opera) delta = -delta;
	} else if (event.detail) { /** Mozilla case. */
		/** In Mozilla, sign of delta is different than in IE.
		* Also, delta is multiple of 3.
		*/
		delta = -event.detail/3;
	}
	/** If delta is nonzero, handle it.
	* Basically, delta is now positive if wheel was scrolled up,
	* and negative, if wheel was scrolled down.
	*/
	if (delta) handle(delta);
	/** Prevent default actions caused by mouse wheel.
	* That might be ugly, but we handle scrolls somehow
	* anyway, so don't bother here..
	*/
	if (event.preventDefault) event.preventDefault();
	event.returnValue = false;
}