//Este script hace que dos imagenes hagan de flechas de scroll, el scroll es paulatino

//Creamos un array en el que se almacenaran las referencias a las flechas que aharan el scroll
array_elementos_scroll=new Array();

//Esta funcion actualiza el array_elementos_scroll con los nuevos scrolls creados
function registraScroll(idAbajo, idArriba, div, velAbajo, velArriba)
{
//Si la componente del array (idAbajo) esta vacia, se creara un nuevo array
	if(array_elementos_scroll[idAbajo]==null) array_elementos_scroll[idAbajo]=new Array();		
//Si la componente del array (idArriba) esta vacia, se creara un nuevo array	
    if(array_elementos_scroll[idArriba]==null) array_elementos_scroll[idArriba]=new Array();		

//Se introducen los pares de valores, capa-flecha que lo mueve en el array
	array_elementos_scroll[idAbajo].push(new Array(div, velAbajo));
    array_elementos_scroll[idArriba].push(new Array(div, velArriba));
}//function registraScroll(idAbajo, idArriba, div, velAbajo, velArriba)
       
//Alias para la funcion javascrip "document.getElementById", recibe como parametro el didentificador de un objeto
function getEl(elementId)
{
	return document.getElementById(elementId);
}//function getEl(elementId)

//Esta funcion inicializa los elementos que van a realizar el scroll
function inicializar()
{
//Para todos los elementos que hay en el array_elementos_scroll, con pasando el raton por encima y saliendo el cursor del raton se ejecutaran las funciones correspondientes
	for(elemento in array_elementos_scroll)
	{
		var elemento=getEl(elemento);
		elemento.onmouseover=iniciaScroll;
		elemento.onmouseout=detieneScroll;
	}//for(elemento in array_elementos_scroll)
}//function inicializar()
	  
function iniciaScroll()
{
//Declaramos un array que almacenara las referencias a las capas y otro que almacenara las diferentes velocidades del movimiento	
	array_capas_scroll=new Array();
	array_velocidades_scroll=new Array();
	
	for(elemento in array_elementos_scroll[this.id])
	{
		array_capas_scroll.push(getEl(array_elementos_scroll[this.id][elemento][0]));
		array_velocidades_scroll.push(array_elementos_scroll[this.id][elemento][1]);
	}//for(elemento in array_elementos_scroll[this.id])

//Se crea un intervalo, en el que se ejecutara la funcion hacer_scroll() cada 50 milisegundos
	intervalo_animacion=setInterval('hacer_scroll()', 30);
}//function iniciaScroll()
       
//Esta funcion detiene el movimiento del scroll cancelando el intervalo creado para hacer la animacion	   
function detieneScroll()
{
	clearInterval(intervalo_animacion);
}//function detieneScroll()

//Esta funcion es la que se ejecuta durante el intervalo de animacion y es la que realmente desplaza la capa en la que se hace scroll
function hacer_scroll()
{
//Para todas las capas en las que hay que hacer scroll	
	for(elemento in array_capas_scroll)
	{
//Esta varibale almacenara la posicion actual del elemeto		
		var posicion_actual=array_capas_scroll[elemento].scrollTop;
//Esta variable calcula la nueva posicion de la capa		
        var nueva_posicion=posicion_actual+array_velocidades_scroll[elemento];
//Por ultimo se asigna la nueva posision a la capa correspondiente		
        array_capas_scroll[elemento].scrollTop=nueva_posicion;
	}//for(elemento in array_capas_scroll)
}//function hacer_scroll()

//Al cargar la pagina se llama a la funcion inicializar, para que se puedan ejecutar los "eventos" programados
window.onload=inicializar;
