var contentHeight = 0; 	
	var visibleContentHeight = 0;	
	var scrollActive = false;
	
	var scrollHandleObj = false; 
	var scrollHandleHeight = false;
	var scrollbarTop = false;
	var eventYPos = false;

	var scrollbuttonActive = false;
	var scrollbuttonDirection = false;
	var scrollbuttonSpeed = 2; 
	var scrollTimer = 10;		
	
	var scrollMoveToActive = false;
	var scrollMoveToYPosition = false;
	function scrollDiv_startScroll(e)
	{
		if(document.all)e = event;
		scrollbarTop = document.getElementById('barrascroll2').offsetTop;
		eventYPos = e.clientY;
		scrollActive = true;
	}
	
	function scrollDiv_stopScroll()
	{
		scrollActive = false;
		scrollbuttonActive = false;
		scrollMoveToActive = false;
	}
	function scrollDiv_scroll(e)
	{
		if(!scrollActive)return;
		if(document.all)e = event;
		if(e.button!=1 && document.all)return;
		var topPos = scrollbarTop + e.clientY - eventYPos; 
		if(topPos<0)topPos=0;
		if(topPos/1>visibleContentHeight-(scrollHandleHeight+4)/1)topPos = visibleContentHeight-(scrollHandleHeight+4);
		document.getElementById('barrascroll2').style.top = topPos + 'px';
		document.getElementById('scrolldiv2').style.top = 0 - Math.floor((contentHeight) * ((topPos)/(visibleContentHeight-scrollHandleHeight)))+'px' 
	}
	

	function scrolldiv_scrollMoveToInit(e)
	{		
		if(document.all)e = event;
		scrollMoveToActive = true;
		scrollMoveToYPosition = e.clientY - document.getElementById('barrascroll1').offsetTop;
		if(document.getElementById('barrascroll2').offsetTop/1 > scrollMoveToYPosition) scrollbuttonDirection = scrollbuttonSpeed*-2; else  scrollbuttonDirection = scrollbuttonSpeed*2;
		scrolldiv_scrollMoveTo();	
	}
	
	function scrolldiv_scrollMoveTo()
	{
		if(!scrollMoveToActive || scrollActive)return;
		var topPos = document.getElementById('barrascroll2').style.top.replace('px','');
		topPos = topPos/1 + scrollbuttonDirection;
		if(topPos<0){
			topPos=0;
			scrollMoveToActive=false;
		}
		if(topPos/1>visibleContentHeight-(scrollHandleHeight+4)/1){
			topPos = visibleContentHeight-(scrollHandleHeight+4);	
			scrollMoveToActive=false;
		}
		if(scrollbuttonDirection<0 && topPos<scrollMoveToYPosition-scrollHandleHeight/2)return;	
		if(scrollbuttonDirection>0 && topPos>scrollMoveToYPosition-scrollHandleHeight/2)return;			
		document.getElementById('barrascroll2').style.top = topPos + 'px';
		document.getElementById('scrolldiv2').style.top = 0 - Math.floor((contentHeight) * ((topPos)/(visibleContentHeight-scrollHandleHeight)))+'px' 		
		setTimeout('scrolldiv_scrollMoveTo()',scrollTimer);		
	}
	
	function cancelEvent()
	{
		return false;			
	}

	function scrolldiv_scrollButton()
	{
		if(this.id=='abajo')scrollbuttonDirection = scrollbuttonSpeed; else scrollbuttonDirection = scrollbuttonSpeed*-1;
		scrollbuttonActive=true;
		scrolldiv_scrollButtonScroll();
	}
	function scrolldiv_scrollButtonScroll()
	{
		if(!scrollbuttonActive)return;
		var topPos = document.getElementById('barrascroll2').style.top.replace('px','');
		topPos = topPos/1 + scrollbuttonDirection;
		if(topPos<0){
			topPos=0;
			scrollbuttonActive=false;
		}
		if(topPos/1>visibleContentHeight-(scrollHandleHeight+4)/1){
			topPos = visibleContentHeight-(scrollHandleHeight+4);	
			scrollbuttonActive=false;
		}	
		document.getElementById('barrascroll2').style.top = topPos + 'px';
		document.getElementById('scrolldiv2').style.top = 0 - Math.floor((contentHeight) * ((topPos)/(visibleContentHeight-scrollHandleHeight)))+'px' 			
		setTimeout('scrolldiv_scrollButtonScroll()',scrollTimer);
	}
	function scrolldiv_scrollButtonStop()
	{
		scrollbuttonActive = false;
	}
	
	
	function scrolldiv_initScroll()
	{
		visibleContentHeight = document.getElementById('barrascroll1').offsetHeight ;
		contentHeight = document.getElementById('scrolldiv2').offsetHeight - visibleContentHeight;		
		scrollHandleObj = document.getElementById('barrascroll2');
		scrollHandleHeight = scrollHandleObj.offsetHeight;
		scrollbarTop = document.getElementById('barrascroll1').offsetTop;		
		document.getElementById('barrascroll2').onmousedown = scrollDiv_startScroll;
		document.body.onmousemove = scrollDiv_scroll;
		document.getElementById('barrascroll1').onselectstart = cancelEvent;
		document.getElementById('barrascroll2').onmouseup = scrollDiv_stopScroll;
		if(document.all)document.body.onmouseup = scrollDiv_stopScroll; else document.documentElement.onmouseup = scrollDiv_stopScroll;
		document.getElementById('abajo').onmousedown = scrolldiv_scrollButton;
		document.getElementById('arriba').onmousedown = scrolldiv_scrollButton;
		document.getElementById('abajo').onmouseup = scrolldiv_scrollButtonStop;
		document.getElementById('arriba').onmouseup = scrolldiv_scrollButtonStop;
		document.getElementById('arriba').onselectstart = cancelEvent;
		document.getElementById('abajo').onselectstart = cancelEvent;
		document.getElementById('barrascroll1').onmousedown = scrolldiv_scrollMoveToInit;
	}

	
	function scrolldiv_setWidth(newWidth)
	{
		document.getElementById('scrolldiv').style.width = newWidth + 'px';
		document.getElementById('scrolldiv1').style.width = newWidth-30 + 'px';		
	}
	

	function scrolldiv_setHeight(newHeight)
	{
		document.getElementById('scrolldiv').style.height = newHeight + 'px';
		document.getElementById('scrolldiv1').style.height = newHeight + 'px';
		document.getElementById('barrascroll').style.height = newHeight + 'px';
		document.getElementById('barrascroll1').style.height = newHeight-20 + 'px';		
	}
	

	function setScrollButtonSpeed(newScrollButtonSpeed)
	{
		scrollbuttonSpeed = newScrollButtonSpeed;
	}

	function setScrollTimer(newInterval)
	{
		scrollTimer = newInterval;
	}
	
	
//	www.dhtmlgoodies.com 
