window.onload = function() {
	
	//if(/MS|IE/gi.test(navigator.userAgent)) return;
	
	var contenido = document.getElementById('contenido');
	
	var tmpScroll = document.createElement('div');
	tmpScroll.setAttribute('id', 'scroll');
	
	var tmpScrollHandler = document.createElement('div');
	tmpScrollHandler.setAttribute('id', 'scrollHandler');
	
	var layer = document.createElement('div');
	layer.setAttribute('id','layer');
	
	var central = document.getElementById('texto');
	central.style.overflow = 'hidden';
	
	contCentral = central.getElementsByTagName('div')[0];
	
	tmpScroll.appendChild(tmpScrollHandler);
	contenido.appendChild(tmpScroll);
	
	if(typeof(Effect) == 'object'){
		new Effect.Pulsate(tmpScroll);
	}
	
	var altoScroll = tmpScroll.offsetHeight - tmpScrollHandler.offsetHeight;
	
	if ( contCentral.offsetHeight < tmpScroll.offsetHeight ){  
		contenido.removeChild(tmpScroll);
		return;
	}
	
	
	var isDragging = false;
	
	var DragObject = { 
		isDragging : false,
		lastY : undefined
	}
	
	tmpScrollHandler.onmousedown = function(e) {
		e = e || event;
		
		DragObject.isDragging = true;
		DragObject.lastY = e.clientY;

		document.getElementById('wrap').appendChild(layer);
	
	}
	
	document.onmousemove = function(e) {
	if (!DragObject.isDragging) return true;
		e = e || event;
		
		if ( !DragObject.lastY ) tmpScrollHandler.style.top = '0';
		else 
		{
			
			var top = Number(tmpScrollHandler.style.top.replace('px',''));
			var contTop = Number(contCentral.style.marginTop.replace('px',''));
			var coeficiente = (contCentral.offsetHeight - altoScroll) / altoScroll;
			
			if ( top >= 0 && top <= altoScroll )
			{
				tmpScrollHandler.style.top = (top + Number(e.clientY - DragObject.lastY)) + 'px';
				contCentral.style.marginTop = (contTop + Number(e.clientY - DragObject.lastY) * (-1) * coeficiente) + 'px';
				
				
			}	
			else
			{
				if ( top < 0 ) 
				{	
					tmpScrollHandler.style.top = '0px';
					contCentral.style.marginTop = '0px';
				}
				if ( top > 280 ) 
				{
					tmpScrollHandler.style.top = altoScroll + 'px';
					contCentral.style.marginTop = -(contCentral.offsetHeight - altoScroll) + 'px';
				}
			}
			
		}
		
		DragObject.lastY = e.clientY;
		
	}
	
	document.onmouseup = function() { 
		
		if (DragObject.isDragging)
		{
			DragObject.isDragging  = false;
			document.getElementById('wrap').removeChild(layer);
		}
	
	}

}
