// JavaScript Document

	var object= null;
	var cY = 0;
	
	var objScrBox;
	var objScrTrack;
	var objTxtBox;
	var objTxtMove;
	var objTxtRel;
	var objScrBar;
	
	var LimitTop = 0;
	var LimitBottom;
	var ScrollHeight;
	var Koef;
	
	function initPage()
	{
		document.onmousedown = pickIt;
		document.onmousemove = dragIt;
		document.onmouseup   = dropIt;
		
		objScrBox   = document.getElementById('ScrollBox');
		objScrTrack = document.getElementById('ScrollTrack');
		objScrBar   = document.getElementById('ScrollBar');
		objTxtBox   = document.getElementById('TextBox');
		objTxtMove  = document.getElementById('TextMoving');
		objTxtRel   = document.getElementById('TextRelative');
		
		//objTxtRel.offsetHeight = '100'+'px';
		//objTxtRel.style.top = '-50'+'px';
		
		objTxtRel.style.overflow = 'hidden';
		//objTxtBox.style.width = objTxtMove.style.width = objTxtRel.style.width = '488px';
		
		var ScrollBoxHeight = (objScrTrack.offsetHeight*objTxtRel.offsetHeight)/objTxtMove.offsetHeight;
		ScrollBoxHeight = 30;
		//ScrollBoxHeight = ( ScrollBoxHeight>30 ) ? ScrollBoxHeight : 30;
		
		objScrBox.style.height = (ScrollBoxHeight) + 'px';
		
		LimitBottom = objScrTrack.offsetHeight - objScrBox.offsetHeight;
		ScrollHeight= LimitBottom - LimitTop;
		
		if ( objTxtMove.offsetHeight>objTxtBox.offsetHeight ) 
			objScrBar.style.visibility = 'visible';
		else {
			objTxtBox.style.width = 
			objTxtRel.style.width = 
			objTxtMove.style.width = 
			(objScrBar.offsetLeft - objTxtBox.offsetLeft) + 'px';
		}
	
		Koef = (objTxtMove.offsetHeight-objTxtBox.offsetHeight)/ScrollHeight;
	}
	
	
	function pickIt(evt)
	{
		evt= (evt) ? evt : ( (window.event) ? event : null );
		var objectID = (evt.target) ? evt.target.id : ((evt.srcElement) ? evt.srcElement.id:null);
		if(objectID.indexOf('ScrollBox')!=-1 ) object= document.getElementById(objectID);
		if ( object )
		{
			cY = evt.clientY - object.offsetTop;
			return;
		}
		else
		{
			object= null;
			return;
		}
	}
	function dragIt(evt)
	{
		evt= (evt)?evt:((window.event)?event:null);
		if ( object )
		{
			var top = evt.clientY - cY;
			if ( top>=LimitTop && top<=LimitBottom ) {
				object.style.top= top + 'px';
				objTxtMove.style.top = -top*Koef + 'px';
			}
			return false;
		}
	}
	
	function dropIt()
	{
		if ( object )
		{
			object= null;
			return false;
		}
	}
