scrollList=new Array();
 
function registraScroll(idAbajo, idArriba, div, velAbajo, velArriba)
{
    if(scrollList[idAbajo]==null) scrollList[idAbajo]=new Array();
    if(scrollList[idArriba]==null) scrollList[idArriba]=new Array();
    scrollList[idAbajo].push(new Array(div, velAbajo));
    scrollList[idArriba].push(new Array(div, velArriba));
}
 
window.onload=inicializar;
 
function getEl(elementId)
{
    return document.getElementById(elementId);
}
 
function inicializar()
{
    for(key in scrollList)
    {
        var elemento=getEl(key);
        elemento.onmouseover=iniciaScroll;
        elemento.onmouseout=detieneScroll;
		elemento.onmousedown=aceleraScroll;
		elemento.onmouseup=deceleraScroll;
    }
	scrolling=false;
	multiplicador=1;
}
 
function iniciaScroll()
{
	if (!scrolling)
	{
      scrollDivs=new Array();
      velDivs=new Array();
      for(key in scrollList[this.id])
      {
          scrollDivs.push(getEl(scrollList[this.id][key][0]));
          velDivs.push(scrollList[this.id][key][1]);
      }
	  scrolling=true;
      identificador=setInterval('scrollNow()',20); 
	}
}
 
function detieneScroll()
{
    clearInterval(identificador);
	scrolling=false;
}

function aceleraScroll()
{
    multiplicador=2;
}

function deceleraScroll()
{
    multiplicador=1;
}


function scrollNow()
{
    for(key in scrollDivs)
    {
    var desplazamientoActual=scrollDivs[key].scrollTop;
    var nuevoDesplazamiento=desplazamientoActual+(velDivs[key]*multiplicador);
    scrollDivs[key].scrollTop=nuevoDesplazamiento;
    } 
} 