/// AGO ScrollBar v1.0
/// jm.centenero@actengo.Com
/// 22/10/08

var Timer;
var Pas = 10;
var MouseX;
var MouseY;
var	monascenseur;
var	monscroller;
var	ascenceurH;
var	scrollerH;
var	contenu;
var	conteneur;
var	scrollerbtn;
var	recettepopup;
var globalscroller=false;

function moveLayer(Sens) {


    if(parseInt(contenu.style.top) + (Pas*Sens)>0)  {
	contenu.style.top = "0px";
	monscroller.style.top="0px";	
	}
	else if(parseInt(contenu.style.top) + (Pas*Sens)<-(contenu.offsetHeight-conteneur.offsetHeight)) {	
	contenu.style.top = (parseInt(contenu.style.top) + (Pas*Sens)) + "px";
//	document.getElementById("debug").innerHTML=contenu.offsetHeight;
//	document.getElementById("debug").innerHTML=document.getElementById("debug").innerHTML + " :: " + conteneur.offsetHeight;
//	document.getElementById("debug").innerHTML=document.getElementById("debug").innerHTML + " :: " + contenu.style.top;
	tempint = contenu.style.top;
//	document.getElementById("debug").innerHTML=document.getElementById("debug").innerHTML + " :: " + (tempint.substring(0,tempint.length-2)*-1);
//	document.getElementById("debug").innerHTML=document.getElementById("debug").innerHTML + " :: " + (contenu.offsetHeight - conteneur.offsetHeight);		
	pourcentage = ((tempint.substring(0,tempint.length-2)*-1)*100)/(contenu.offsetHeight - conteneur.offsetHeight);
//	document.getElementById("debug").innerHTML=document.getElementById("debug").innerHTML + " :: pourcentege = " + pourcentage;	
	}
    else {
        contenu.style.top = (parseInt(contenu.style.top) + (Pas*Sens)) + "px";
//		document.getElementById("debug").innerHTML=contenu.offsetHeight;
//		document.getElementById("debug").innerHTML=document.getElementById("debug").innerHTML + " :: " + conteneur.offsetHeight;
//		document.getElementById("debug").innerHTML=document.getElementById("debug").innerHTML + " :: " + contenu.style.top;
		tempint = contenu.style.top;
//		document.getElementById("debug").innerHTML=document.getElementById("debug").innerHTML + " :: " + (tempint.substring(0,tempint.length-2)*-1);
//		document.getElementById("debug").innerHTML=document.getElementById("debug").innerHTML + " :: " + (contenu.offsetHeight - conteneur.offsetHeight);		
		pourcentage = ((tempint.substring(0,tempint.length-2)*-1)*100)/(contenu.offsetHeight - conteneur.offsetHeight);		
//		document.getElementById("debug").innerHTML=document.getElementById("debug").innerHTML + " :: pourcentege = " + pourcentage;
		//tempint = monscroller.style.height;
		//scrollheight= tempint.substring(0,tempint.length-2);
		//scrollerbtn.style.top =((pourcentage*(monascenseur.offsetHeight-scrollerH))/100) + "px";
	}
	
	tempint = contenu.style.top;
	pourcentage = ((tempint.substring(0,tempint.length-2)*-1)*100)/(contenu.offsetHeight - conteneur.offsetHeight);
	
	if((pourcentage>=0)&&(pourcentage<=100))
	{
	contenuY = (pourcentage * (contenu.offsetHeight - conteneur.offsetHeight))/100;	
	contenu.style.top = -contenuY + "px";
	monscroller.style.top = ((pourcentage*(monascenseur.offsetHeight-scrollerH))/100) + "px";	
	}
	else if(pourcentage>100)
	{
	contenu.style.top = -((contenu.offsetHeight - conteneur.offsetHeight))+"px";
	monscroller.style.top=(ascenceurH-scrollerH)+"px";
	}
	else if(pourcentage<0)
	{
	contenu.style.top = "0px";
	monscroller.style.top="0px";		
	}
			
	
}

function startdrag(mc)
{	
	Timer = setInterval("suitSouris()", 10);
	//trace("rr");
}

function stopdrag()
{
//	document.getElementById("debug").innerHTML = "--out--" ;
	//alert("sort");
	clearTimeout(Timer) ;
}

function suitSouris()
{
	var pos = findPos(monascenseur);
	var marge = 50;
	relMouseY = (MouseY - pos.y);	
	
	if((MouseX < (pos.x-marge))||(MouseX > ((pos.x+parseInt(monascenseur.offsetWidth))+marge)))
	{
		stopdrag();
	}
	else if((MouseY<(pos.y-marge))||(MouseY>((pos.y+parseInt(monascenseur.offsetHeight))+marge)))
	{
		stopdrag();
	}
	   
	   
	
	//document.getElementById("debug").innerHTML = " MouseX " + MouseX + " MouseY " + MouseY  + " pos.x " + pos.x + " pos.y " + pos.y;
	
	
//	document.getElementById("debug").innerHTML = pos.y + " :: " ;
//	document.getElementById("debug").innerHTML = document.getElementById("debug").innerHTML + (MouseY -  pos.y);	
	
	pourcentage = ((relMouseY-(scrollerH/2))*100)/(ascenceurH-scrollerH);
		
	contenuY = (pourcentage * (contenu.offsetHeight - conteneur.offsetHeight))/100;	
	
	if((pourcentage>=0)&&(pourcentage<=100))
	{
	contenu.style.top = -contenuY + "px";
	monscroller.style.top = (relMouseY-(scrollerH/2)) + "px";	
	}
	else if(pourcentage>100)
	{
	contenu.style.top = -((contenu.offsetHeight - conteneur.offsetHeight))+"px";
	monscroller.style.top=(ascenceurH-scrollerH)+"px";
	}
	else if(pourcentage<0)
	{
	contenu.style.top = "0px";
	monscroller.style.top="0px";		
	}
		
//	document.getElementById("debug").innerHTML = " yscroller " + (MouseY -  pos.y) + " pourcentage " + pourcentage + " %";	
}

function findPos(el) {

	var x = y = 0;
	if(el.offsetParent) {
		x = el.offsetLeft;
		y = el.offsetTop;
		while(el = el.offsetParent) {
			x += el.offsetLeft;
			y += el.offsetTop;
		}
	}
	return {'x':x, 'y':y};
}

function creerAgoScrollBar(_container,_content,_scrollbar,_ascenceur,_scroller,_btnup,_btndown,_decalage)
{
	clearTimeout(Timer);
	monascenseur=document.getElementById(_ascenceur);
	monscroller = document.getElementById(_scroller);
	mascrollbar = document.getElementById(_scrollbar);
	contenu=document.getElementById(_content);
	conteneur=document.getElementById(_container);
	ascenceurH = monascenseur.offsetHeight;
	scrollerH = monscroller.offsetHeight;	
	boutonhaut = document.getElementById(_btnup);
	boutonbas = document.getElementById(_btndown);	
	//
	globalscroller=true;
	//
	
	if(contenu.offsetHeight < conteneur.offsetHeight)
	{
	mascrollbar.style.visibility="hidden";
	}
	else
	{
	mascrollbar.style.visibility="visible";		
	}
	
	contenu.style.top="0px";
	//boutonhaut.setAttribute("onclick","moveLayer(1);");
	/*addEvents(boutonhaut,"click","moveLayer(1)");
	addEvents(boutonbas,"click","moveLayer(-1)");
	addEvents(monscroller,"onmousedown","startdrag("+this+")");
	addEvents(monscroller,"onMouseUp","stopdrag()");	*/
	
	//boutonbas.setAttribute("onclick","moveLayer(-1);");		
	
	boutonhaut.style.cursor="pointer";
	boutonbas.style.cursor="pointer";
	//monscroller.setAttribute("onmousedown","startdrag(this);");	
	//monscroller.setAttribute("onMouseUp","stopdrag();");
	
	conteneur.style.position="relative";
	conteneur.style.overflow="hidden";
	contenu.style.position="absolute";
	contenu.style.top="0px";		
	monascenseur.style.position="relative";
	monascenseur.style.overflow="hidden";	
	monscroller.style.cursor="pointer";
	monscroller.style.position="absolute";
	monscroller.style.top="0";
}

function Molette(event){
	var sens = 0;
	if(globalscroller==true)
	{
	if (!event){event = window.event;}
	if (event.wheelDelta) {
	   	sens =(window.opera)?-event.wheelDelta/120: event.wheelDelta/120; 
       }
    else {sens=(event.detail)?-event.detail/3:sens;
	   }
	if (sens)
		moveLayer(sens);
	}
		
}
 
// Lancement 
if (window.addEventListener){window.addEventListener('DOMMouseScroll', Molette, false);}
else{window.onmousewheel =function(){Molette()};
     document.onmousewheel = function(){Molette()};
    }
	
document.onmousemove = function(e)  {
if(window.event) e = event;
MouseX = e.clientX;
MouseY = e.clientY;
};
	

