// JavaScript Document
var intId;
var scrollerTrackHeight;
var objectHeight; 
var objectTrackHeight; 
var scrollerHeight;
var delta;
var height;
var canDrag = false;
var shift_y; 
if (window.addEventListener)
{
 window.addEventListener('DOMMouseScroll', wheel, false);
}

function open(finish)
{
	var showscroll =0;
	
  if(finish==0) 
  { 
  	finish=document.documentElement.clientHeight-285; 
	showscroll=1;
  }
  document.getElementById("main").style.height = finish + "px";
  //intId = setInterval('resizeDock('+finish+')', 10);
  
  if(showscroll==1)
  {
  document.getElementById('scrollbar').style.height=finish-39 + "px";
  scrollerTrackHeight = finish-39;
  document.getElementById('scrolldn').style.top=finish-18 + "px";

  objectHeight = document.getElementById("main").offsetHeight;
  objectTrackHeight = document.getElementById('table1').offsetHeight+30; 
  scrollerHeight = Math.round( (objectHeight * scrollerTrackHeight) / objectTrackHeight );
  scrollerHeight = (scrollerHeight > scrollerTrackHeight) ?  scrollerTrackHeight : scrollerHeight;
	if(scrollerTrackHeight==scrollerHeight)
	{
	  document.getElementById('scrollbar').style.visibility = "hidden";
 	 document.getElementById('scrollup').style.visibility = "hidden";
 	 document.getElementById('scrolldn').style.visibility = "hidden";
	}
	if(scrollerTrackHeight!=scrollerHeight)
	{
 	 document.getElementById('scrollbar').style.visibility = "visible";
 	 document.getElementById('scrollup').style.visibility = "visible";
 	 document.getElementById('scrolldn').style.visibility = "visible";
	}
  document.getElementById('scroller').style.height = scrollerHeight + "px";
  delta = objectTrackHeight / scrollerTrackHeight;
  }
}

function resizeDock(finishline)
{
	var main = document.getElementById("main");
	var height = main.style.height ? parseInt(main.style.height) : 0;
	
	if(height>=finishline) 
	{ 
	 clearInterval(intId); 
	}
	
 	var step = Math.ceil((finishline - height)/12);
	main.style.height = height+step + "px";
}

function resize()
{
 document.getElementById("main").style.height = document.documentElement.clientHeight-285 + "px";	
 var finish = document.documentElement.clientHeight-285;
 
  document.getElementById('scrollbar').style.height=finish-39 + "px";
  scrollerTrackHeight = finish-39;
  document.getElementById('scrolldn').style.top=finish-18 + "px";

  objectHeight = document.getElementById("main").offsetHeight;
  objectTrackHeight = document.getElementById('table1').offsetHeight+30; 
  scrollerHeight = Math.round( (objectHeight * scrollerTrackHeight) / objectTrackHeight );
  scrollerHeight = (scrollerHeight > scrollerTrackHeight) ?  scrollerTrackHeight : scrollerHeight;
	if(scrollerTrackHeight==scrollerHeight)
	{
	  document.getElementById('scrollbar').style.visibility = "hidden";
 	 document.getElementById('scrollup').style.visibility = "hidden";
 	 document.getElementById('scrolldn').style.visibility = "hidden";
	}
	if(scrollerTrackHeight!=scrollerHeight)
	{
 	 document.getElementById('scrollbar').style.visibility = "visible";
 	 document.getElementById('scrollup').style.visibility = "visible";
 	 document.getElementById('scrolldn').style.visibility = "visible";
	}
  document.getElementById('scroller').style.height = scrollerHeight + "px";
  delta = objectTrackHeight / scrollerTrackHeight;

}

//scroll-------------------------------------------------------------------------------------

function drag(event)
{ 
    if (!event)
    {
        event = window.event;
    }

    canDrag = true;

    shift_y = event.clientY - parseInt(document.getElementById('scroller').style.marginTop);

    blockEvent(event);

    return false;
}

document.onmousemove = function move(event)
{
    if (!event)
    {
        event = window.event;
    }

  if (canDrag)
    {
        setPosition(event.clientY - shift_y);
        blockEvent(event);
    }

    return false;
}

document.onmouseup = function drop()
{
    canDrag = false; 
}

function setPosition(newPosition)
{
    if ( (newPosition <= scrollerTrackHeight - scrollerHeight) && (newPosition >= 0) )
    {
        document.getElementById('scroller').style.marginTop = newPosition + "px";
    }
    else if (newPosition > scrollerTrackHeight - scrollerHeight)
    {
        document.getElementById('scroller').style.marginTop = scrollerTrackHeight - scrollerHeight + "px";
    }
    else
    {
        document.getElementById('scroller').style.marginTop = 0 + "px";
    }
var menu = document.getElementById('table1'); 
    menu.style.marginTop = Math.round( parseInt(document.getElementById('scroller').style.marginTop)  * delta * (-1) ) + "px";
    return false;
}


function blockEvent(event)
{
    if (!event)
    {
        event = window.event;
    }
    if (event.stopPropagation) 
    {
        event.stopPropagation();
    }
    else 
    {
        event.cancelBubble = true;
    }
    if (event.preventDefault) 
    {
        event.preventDefault();
    }
    event.returnValue = false;
}

function wheel(event)
{
   var wheelDelta = 0;
    
    var step = 20;
    if (!event) 
    {
        event = window.event;
    }
    if (event.wheelDelta) 
    {
        if (window.opera)
        {
            wheelDelta = event.wheelDelta/40;
        }
	else
	{
	 wheelDelta = event.wheelDelta/30;
	}
    } 
    else if (event.detail) 
    {
        wheelDelta = -event.detail;
    }

    if (wheelDelta)
    {
        var i = (wheelDelta < 0) ? 1 : -1;
        var currentPosition = parseInt(document.getElementById('scroller').style.marginTop);               
        var newPosition = i*step + currentPosition;
        setPosition(newPosition); 
    }
    
    blockEvent(event);
}

function scrollup()
{
 var currentPosition = parseInt(document.getElementById('scroller').style.marginTop);
 var newPosition = currentPosition - 40;
 setPosition(newPosition); 
}

function scrolldn()
{
 var currentPosition = parseInt(document.getElementById('scroller').style.marginTop);
 var newPosition = currentPosition + 40;
 setPosition(newPosition); 
}
