/* 

	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
	
*/

this.easyscroll = function(){
	
	// hack per amagar el text que passa del scroll
	var hide = document.getElementById("hide");
	
	hide.style.height = "539px";
	
	// id of the container element 
	var id = "myContent";
	
	// navigation buttons text
	var nav = ["Scroll Down","Scroll Up"];
	
	//	id for each navigation button (OPTIONAL)
	var navId = ["btnDown","btnUp"];

	// movement speed
	var speed = 8;
	
	// desired height of the container element (in pixels)
	var height = 505;
	
	var maxHeight = 539;
	
	//
	// END CONFIG
	// do not edit below this line (unless you want to of course :) )
	//

	var obj = document.getElementById(id);
	
	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 = maxHeight + "px";
	container.style.overflow = "hidden";
	obj.style.position = "absolute";
	obj.style.top = "0";
	obj.style.left = "0";
	container.appendChild(obj);	
	
	if (obj.offsetHeight > maxHeight) {
		container.style.height = height + "px";
		var btns = new Array();
		var div = document.createElement("div");
		div.id="easyscrollnav";
		for (var i=0;i<nav.length;i++){
			var a = document.createElement("a");
			a.innerHTML = nav[i];
			a.id = navId[i];
			btns.push(a);
			div.appendChild(a);
		};
		parent.appendChild(div,container);
		
		btns[1].onmousedown = function(){
			obj.up = true;
			this.className = "over";
		};
		btns[1].onmouseup = function(){
			obj.up = false;
			//this.className = "";
		};		
		btns[0].onmousedown = function(){
			obj.down = true;
			this.className = "over";		
		};
		btns[0].onmouseup = function(){
			obj.down = false;
			//this.className = "";
		};
	}	
		
	this.start = function(){				
		var newTop;
		var objHeight = obj.offsetHeight;
		var top = obj.offsetTop;
		var fast = 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";
		};

		if (obj.offsetTop == 0) {
			btns[1].className = "noactive";
		} else {
			btns[1].className = "";
		}
		
		if ((objHeight+top) <= height) {
			btns[0].className = "noactive";
		} else {
			btns[0].className = "";
		}
		
		
	};	
	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);


//
// Mousewheel 
//

window.onload = function() {
	//adding the event listerner for Mozilla
	
	if (document.getElementById('myContent').offsetHeight > 539) {
	
    	if(window.addEventListener) document.addEventListener('DOMMouseScroll', moveObject, false);
		//for IE/OPERA etc
    	document.onmousewheel = moveObject;
    }
}

function moveObject(event) {
    var delta = 0; 
	if (!event) event = window.event;  
	 // normalize the delta
    if (event.wheelDelta)
	{
		// IE & Opera
      	delta = event.wheelDelta / Math.abs(event.wheelDelta)
	}
	else if (event.detail) // W3C
	{
		delta = -event.detail / 10;
	}
   var currPos=document.getElementById('myContent').offsetTop;
   //calculating the next position of the object

   
   objHeight = document.getElementById('myContent').offsetHeight;
   
   var limit = 505;

   
   if (delta < 0) {		 
			newPos = ((objHeight+currPos) > limit) ? currPos+(delta*5) : currPos;	
			document.getElementById('myContent').style.top = newPos+"px";
	};
	
	if (delta > 0){		 
			newPos = (currPos < 0) ? currPos+(delta*5) : currPos;
			document.getElementById('myContent').style.top = newPos+"px";
		};

}

