/* 

	Easy Scroll v1.0
	written by Alen Grakalic, provided by Css Globe (cssglobe.com)
	please visit http://cssglobe.com/post/1495/easy-scroll-accessible-content-scroller
	
*/

//var gblHeightScroll = 300;
//utilizaré la vble gblHeightScroll para indicar la altura de la capa scroll

//Añado la siguiente funcion para hacer una comprobación de que exista la capa "capaScroll"
//antes de lanzar la funcion easyscroll
this.ComprobarQueExisteCapaScroll = function(){
	if (document.getElementById("capaScroll") != null)
		{easyscroll()}
	}

this.easyscroll = function(){

	// id of the container element 
	var id = "capaScroll";
	var obj = document.getElementById(id);	
	// navigation buttons text
	var nav
	//nav = ["Scroll Up", "Scroll Down", "Reset"];
	//oculto los botones que creo fuera
	//nav = ["Subir", "Bajar", "Inicio"];
	
	//	id for each navigation button (OPTIONAL)
	var navId = ["btnUp", "btnDown", "btnReset"];

	// movement speed
	var speed = 5;
	
	// desired height of the container element (in pixels)
	var height = 400;
	if (typeof(gblHeightScroll) != "undefined") {height = gblHeightScroll}
	//
	// END CONFIG
	// do not edit below this line (unless you want to of course :) )
	//
	
	obj.up = false;
	obj.down = false;
	obj.fast = false;

	var container = document.createElement("div");
	var parent = obj.parentNode;
	container.id="easyscroll";
	parent.insertBefore(container,obj);
	parent.removeChild(obj);	
	
	container.style.position = "relative";
	container.style.height = height + "px";
	container.style.overflow = "hidden";
	obj.style.position = "absolute";
	obj.style.top = "0";
	obj.style.left = "0";
	container.appendChild(obj);
	
	//si están definidos los botones en este mismo script los dibujo
	if (nav != null) 
		{
		var btns = new Array();
		var ul = document.createElement("ul");
		ul.id="easyscrollnav";
		for (var i=0;i<nav.length;i++){
			var li = document.createElement("li");
			li.innerHTML = nav[i];
			li.id = navId[i];
			btns.push(li);
			ul.appendChild(li);
		};
		parent.insertBefore(ul,container);
		}
	
	SubirScroll = function()
		{obj.up = true;
		this.className = "over";};
	
	DejarDeSubirScroll = function()
		{obj.up = false;
		this.className = "";};
			
	BajarScroll = function()
		{obj.down = true;
		this.className = "over";};
	
	DejarDeBajarScroll = function()
		{obj.down = false;
		this.className = "";};		
	
	AcelerarScroll = function(){obj.fast = true;};	
	DesacelerarScroll = function(){obj.fast = false;};		
	IniciarScroll = function(){obj.style.top = "0px";};		

	if (btns != null) 
		{
		btns[0].onmouseover = function(){SubirScroll()};
		btns[0].onmouseout = function(){DejarDeSubirScroll()};
		btns[1].onmouseover = function(){BajarScroll()};
		btns[1].onmouseout = function(){DejarDeBajarScroll()};		
		btns[0].onmousedown = btns[1].onmousedown = function(){AcelerarScroll()};	
		btns[0].onmouseup = btns[1].onmouseup = function(){DesacelerarScroll()};		
		btns[2].onmouseover = function(){this.className = "over";};	
		btns[2].onmouseout = function(){this.className = "";};
		btns[2].onclick = function(){IniciarScroll()};		
		}
		
	this.start = function(){				
		var newTop;
		var objHeight = obj.offsetHeight;
		var top = obj.offsetTop;
		var fast = (obj.fast) ? 2 : 1;
		if(obj.down){		 
			newTop = ((objHeight+top) > height) ? top-(speed*fast) : top;	
			obj.style.top = newTop + "px";
		};	
		if(obj.up){		 
			newTop = (top < 0) ? top+(speed*fast) : top;
			obj.style.top = newTop + "px";
		};
	};	
	obj.interval = setInterval("start()",50);		
		
};


//
// script initiates on page load. 
//

this.addEvent = function(obj,type,fn){
	if(obj.attachEvent){
		obj['e'+type+fn] = fn;
		obj[type+fn] = function(){obj['e'+type+fn](window.event );}
		obj.attachEvent('on'+type, obj[type+fn]);
	} else {
		obj.addEventListener(type,fn,false);
	};
};

//addEvent(window,"load",easyscroll);
addEvent(window,"load", ComprobarQueExisteCapaScroll);
