var scrollListV = new Array();
var scrollListH = new Array();

function registraScrollV(idAbajo, idArriba, div, velAbajo, velArriba){
	 //alert("registraScrollV");
	//alert(idAbajo +" " + idArriba +" " + div +" " + velAbajo +" " + velArriba);
	//alert(getEl(idAbajo) +" " + idAbajo);
	if(scrollListV[idAbajo]==null)
	{
		scrollListV[idAbajo]=new Array();
		scrollListV[idAbajo].push(new Array(div, velAbajo));
	
	}
	if(scrollListV[idArriba]==null)
	{
		scrollListV[idArriba]=new Array();
		scrollListV[idArriba].push(new Array(div, velArriba));
	}
	//Si se reguistran los eventos para cada flecha del scroll
	if (getEl(idAbajo) != null) {
	getEl(idAbajo).onmouseover=iniciaScrollV;
	getEl(idAbajo).onmouseout=detieneScrollV;
	getEl(idArriba).onmouseover=iniciaScrollV;
	getEl(idArriba).onmouseout=detieneScrollV;
	}
	//inicializarV(); -> Da problemas (era lo original del js)
}

// registraScrollH(idIzquierda, idDerecha, div, velIzquierda, velDerecha)
function registraScrollH(idAbajo, idArriba, div, velAbajo, velArriba){
	//alert("registraScrollH");
	//alert(idAbajo +" " + idArriba +" " + div +" " + velAbajo +" " + velArriba);
	if(scrollListH[idAbajo]==null)
	{
		scrollListH[idAbajo]=new Array();
		scrollListH[idAbajo].push(new Array(div, velAbajo));
	}
	if(scrollListH[idArriba]==null)
	{
		scrollListH[idArriba]=new Array();
		scrollListH[idArriba].push(new Array(div, velArriba));
	}
	//Si se reguistran scrolls inicializar
	if (getEl(idAbajo) != null) {
	getEl(idAbajo).onmouseover=iniciaScrollH;
	getEl(idAbajo).onmouseout=detieneScrollH;
	getEl(idArriba).onmouseover=iniciaScrollH;
	getEl(idArriba).onmouseout=detieneScrollH;
	}
	//inicializarH();
}

//window.onload=inicializar;
function inicializarScrollGlobal(){
//	alert(inicializarScrollGlobal);
	inicializarV();
	//inicializarH();
}

function getEl(elementId){
	return document.getElementById(elementId);
}
function inicializarV(){
	//alert('inicializarV');
	for(key in scrollListV)	{
		//alert('key: ' + key);
		var elemento=getEl(key);
		//alert('elemento.id: ' + elemento.id);
		//Spry.$$("#" +key).addEventListener("mouseover", iniciaScrollV, false);
		//Spry.$$("#" +key).addEventListener("mouseout", detieneScrollV, false);
		//elemento.onmouseover=iniciaScrollV;
		//elemento.onmouseout=detieneScrollV;
	}
}
function iniciaScrollV(){
	//alert("iniciaScrollV");
	scrollDivsV=new Array();
	velDivs=new Array();
	for(key in scrollListV[this.id])	{
		scrollDivsV.push(getEl(scrollListV[this.id][key][0]));
		velDivs.push(scrollListV[this.id][key][1]);
	}
	identificador=setInterval('scrollNowV()', 50);
}
function detieneScrollV(){
	clearInterval(identificador);
}
function scrollNowV(){
	for(key in scrollDivsV)	{
		//Despalazamiento VERTICAL
		var desplazamientoActual=scrollDivsV[key].scrollTop;
		//alert(desplazamientoActual);
		var nuevoDesplazamiento=desplazamientoActual+velDivs[key];
		scrollDivsV[key].scrollTop=nuevoDesplazamiento;
		//alert(nuevoDesplazamiento);
	}
}

function inicializarH(){
	//alert("inicializarH");
	for(key in scrollListH){
		//alert(key);
		var elemento=getEl(key);
		elemento.onmouseover=iniciaScrollH;
		elemento.onmouseout=detieneScrollH;
	}
}
function iniciaScrollH(){
	//alert("iniciaScrollH");
	scrollDivsH=new Array();
	velDivs=new Array();
	for(key in scrollListH[this.id])	{
		scrollDivsH.push(getEl(scrollListH[this.id][key][0]));
		velDivs.push(scrollListH[this.id][key][1]);
	}
	identificador=setInterval('scrollNowH()', 50);
}
function detieneScrollH(){
	clearInterval(identificador);
}
function scrollNowH(){
	for(key in scrollDivsH)	{
		//Despalazamiento HORIZONTAL
		var desplazamientoActual=scrollDivsH[key].scrollLeft;
		var nuevoDesplazamiento=desplazamientoActual+velDivs[key];
		scrollDivsH[key].scrollLeft=nuevoDesplazamiento;
	}
}
//Muestra el scroll de una capa si tiene desbordamiento, si no la oculta
function muestraScroll(idScroll, idCapaScrollable){
	capaScrollable = document.getElementById(idCapaScrollable);
	//alert(idCapaScrollable + ' scrollHeight = ' + capaScrollable.scrollHeight + ' offsetHeight = ' + capaScrollable.offsetHeight);
	//Si la altura del contenido > altura de la capa
	var scrol = document.getElementById(idScroll)
	if(capaScrollable.scrollHeight > capaScrollable.offsetHeight){
		scrol.style.visibility = "visible";	
	}else{
		scrol.style.visibility = "hidden";	
	}
}
