var intDeplacWidth = 5; 	// Nb pixel pour chaque deplacement
var intDeplacTime = 10; 	// Nb millisec entre chaque deplacement

var tempDisplay = null;
var btnSroller = new Array(null, null);
var ulPageMenuScroll = null;
var ulPageMenuScrollLimitX = new Array(0, 10);
var ulPageMenuScrollPosX = 0;

// Function d'initalisation des largeur de scroll
function initPageMenuScroll(sDivScroll, sBtnSrollerG, sBtnSrollerD) {
	var strCssRule = '';
	
	var divWidth = 0;
	if(document.defaultView && document.defaultView.getComputedStyle){
		divWidth = document.defaultView.getComputedStyle(document.getElementById(sDivScroll),null).getPropertyValue('width');
	} else if (document.getElementById(sDivScroll).currentStyle) {
		divWidth = document.getElementById(sDivScroll).currentStyle['width'];
	}
	divWidth = eval(divWidth.substring(0, divWidth.lastIndexOf('px')));
	
	// Initialisation de l'objet ul
	var uls = document.getElementById(sDivScroll).getElementsByTagName('UL');
	ulPageMenuScroll = uls[0];
	
	// initialisation de la position gauche de l'objet ul (limite de scroll a gauche)
	if (ulPageMenuScroll.currentStyle) {
		strCssRule = 'margin-left';
		strCssRule = strCssRule.replace(/\-(\w)/g, function (strMatch, p1){
			return p1.toUpperCase();
		});
		ulPageMenuScrollPosX = ulPageMenuScroll.currentStyle[strCssRule];
	} else if (window.getComputedStyle) {
		ulPageMenuScrollPosX = document.defaultView.getComputedStyle(ulPageMenuScroll,null).getPropertyValue('margin-left');
	}
	ulPageMenuScrollPosX = eval(ulPageMenuScrollPosX.substring(0, ulPageMenuScrollPosX.lastIndexOf('px')));
	
	var lis = ulPageMenuScroll.getElementsByTagName('LI');
	// recherche des marges d'un li
	var liWidth = 0;
	var liMargin = new Array(0, 0);
	if(document.defaultView && document.defaultView.getComputedStyle){
		liWidth = document.defaultView.getComputedStyle(lis[0],null).getPropertyValue('width');
		liMargin[0] = document.defaultView.getComputedStyle(lis[0],null).getPropertyValue('margin-left');
		liMargin[1] = document.defaultView.getComputedStyle(lis[0],null).getPropertyValue('margin-right');
	} else if (lis[0].currentStyle) {
		liWidth = lis[0].currentStyle['width'];
		
		strCssRule = 'margin-left';
		strCssRule = strCssRule.replace(/\-(\w)/g, function (strMatch, p1){
			return p1.toUpperCase();
		});
		liMargin[0] = lis[0].currentStyle[strCssRule];
		
		strCssRule = 'margin-right';
		strCssRule = strCssRule.replace(/\-(\w)/g, function (strMatch, p1){
			return p1.toUpperCase();
		});
		liMargin[1] = lis[0].currentStyle[strCssRule];
	}
	liWidth = eval(liWidth.substring(0, liWidth.lastIndexOf('px')));
	liMargin[0] = eval(liMargin[0].substring(0, liMargin[0].lastIndexOf('px')));
	liMargin[1] = eval(liMargin[1].substring(0, liMargin[1].lastIndexOf('px')));
	
	// initalisation de la limite de scroll a droite
	ulPageMenuScrollLimitX[0] = -1 * ((liWidth + liMargin[0] + liMargin[1]) * (lis.length)) - ulPageMenuScrollPosX + divWidth;

	btnSroller[0] = document.getElementById(sBtnSrollerG);
	btnSroller[1] = document.getElementById(sBtnSrollerD);
	
	// Cache le btn gauche
	btnSroller[0].style.display = 'none';
	
	// Verification si affichage du btn droit
	if (ulPageMenuScrollLimitX[0] > 0) {
		btnSroller[1].style.display = 'none';
	}
}

//Function de scroll
function pageMenuScroll(intDeplac) {
	// Stop le scroll precedant
	stopPageMenuScroll();
	
	// Calcul de la nouvelle position
	ulPageMenuScrollPosX = ulPageMenuScrollPosX - intDeplac * intDeplacWidth;
	
	// Affectation de la nouvelle position
	if ((ulPageMenuScrollPosX > ulPageMenuScrollLimitX[0]) && (ulPageMenuScrollPosX < ulPageMenuScrollLimitX[1])) {
	
		// affiche les boutons
		btnSroller[0].style.display = 'inline';
		btnSroller[1].style.display = 'inline';
		
		// deplace le ul
		ulPageMenuScroll.style.marginLeft = ulPageMenuScrollPosX + 'px';
		
		// Rappel de deplacement
		tempDisplay = setTimeout('pageMenuScroll(' + intDeplac + ')', intDeplacTime);
	} else {
		if (ulPageMenuScrollPosX >= ulPageMenuScrollLimitX[1]) {
			// Cache le btn gauche
			btnSroller[0].style.display = 'none';
		} else if (ulPageMenuScrollPosX <= ulPageMenuScrollLimitX[0]) {
			// Cache le btn droite
			btnSroller[1].style.display = 'none';
		}
		
		// Reinitialisation
		ulPageMenuScrollPosX = ulPageMenuScrollPosX + intDeplac * intDeplacWidth;
	}
}

// Function de stop de scroll
function stopPageMenuScroll() {
	clearTimeout(tempDisplay);
}