var scrollTimer, scrollIncrement = 5, scrollCurrentIncrement, scrollTop, mainHeight, contentHeight, zoneHeight, currentHeight, currentY, lastY=0; //backgroundTimer, opacity=0, increase=1;

var topHeight = 156; //Hauteur du top a la scrollbar ; padding-top du container + hauteur top + bord top + hauteur fleche haut (a prendre direct dans le style!)

function initScroll(scrollBar) {
	if (!scrollBar) {
		if (window.addEventListener) {
			document.getElementById('TxtProyectos').addEventListener('DOMMouseScroll', wheel, false);
			document.addEventListener('DOMMouseMove', mouseMove, false);
			document.addEventListener('DOMMouseUp', clearTimer, false);		
		}
		document.getElementById('TxtProyectos').onmousewheel = wheel;	
		document.onmousemove = mouseMove;
		document.onmouseup = clearTimer;
	}

}

function mouseMove(event) {
	if (!event) event = window.event;
	if (event.pageY) 
		currentY=event.pageY;
	else
		currentY=event.clientY + document.documentElement.scrollTop;	
}

function scrollUp() {
	document.getElementById('TxtProyectos').scrollTop -= scrollIncrement;	
	scrollTop = document.getElementById('TxtProyectos').scrollTop * zoneHeight / contentHeight;	
	scrollTimer = setTimeout('scrollUp()', 1);
}

function scrollDown() {
	document.getElementById('TxtProyectos').scrollTop += scrollIncrement;	
	scrollTop = document.getElementById('TxtProyectos').scrollTop * zoneHeight / contentHeight;	
	scrollTimer = setTimeout('scrollDown()', 1);
}

function mouseScrollUp(nbr) {
	if (!nbr) nbr=1;	
	document.getElementById('TxtProyectos').scrollTop -= nbr*scrollIncrement;	
	scrollTop = document.getElementById('TxtProyectos').scrollTop * zoneHeight / contentHeight;	
}

function mouseScrollDown(nbr) {
	if (!nbr) nbr=1;
	document.getElementById('TxtProyectos').scrollTop += nbr*scrollIncrement;
	scrollTop = document.getElementById('TxtProyectos').scrollTop * zoneHeight / contentHeight;	
}

function handle(delta) {
	if (delta < 0)
		mouseScrollDown(2);
	else
		mouseScrollUp(2);
}

function wheel(event){
	var delta = 0;
	if (!event) event = window.event;
	if (event.wheelDelta) {
		delta = event.wheelDelta/120; 
		if (window.opera) delta = -delta;
	} else if (event.detail) {
		delta = -event.detail/3;
	}
	if (delta)
		handle(delta);
		if (event.preventDefault)
			event.preventDefault();
		event.returnValue = false;
}

function move() {
	if (lastY == 0) lastY = currentY;
	if (currentY > lastY) {
		if ((currentY-lastY)/scrollCurrentIncrement > 0) {
			mouseScrollDown((currentY-lastY)/scrollCurrentIncrement);
			lastY = currentY;
		}
	}
	if (currentY < lastY) {
		if ((lastY-currentY)/scrollCurrentIncrement > 0) {
			mouseScrollUp((lastY-currentY)/scrollCurrentIncrement);
			lastY = currentY;
		}
	}
	
	scrollTimer = setTimeout('move()', 1);					
}

function moveTo(event) {
	var y;
	if (!event) event = window.event;
	if (event.pageY) 
		y=event.pageY;
	else
		y=event.clientY + document.documentElement.scrollTop;
		
	if (y-topHeight > scrollTop) {
		if ((y-topHeight-scrollTop)/scrollCurrentIncrement > 0) {
			mouseScrollDown((y-topHeight-scrollTop)/scrollCurrentIncrement);
		}
	} else if (y-topHeight < scrollTop) {
		if ((scrollTop-(y-topHeight))/scrollCurrentIncrement > 0) {
			mouseScrollUp((scrollTop-(y-topHeight))/scrollCurrentIncrement);
		}
	}
}

function clearTimer() {
	clearTimeout(scrollTimer);	
	lastY = 0;
}


