﻿var winheight = 412;
var arrowHeight = 10;
var sliderHeight = 9;
var ie = document.all;
var nn6 = document.getElementById && !document.all;
var isdrag = false;
var x,y;
var dobj;

function initScrollableText() {
	var div = document.getElementById('text');
	var img = document.getElementById('scrollbar');
    try {
	    if (window.addEventListener) div.addEventListener('DOMMouseScroll', wheel, false);
	    div.onmousewheel = div.onmousewheel = wheel;

	    img.onmousedown=selectmouse;
	    document.onmouseup=new Function('isdrag=false');
    } catch(e) {
        alert("scroll: " + e.description);
    }
    winheight = div.clientHeight;
}

function scroll(direction) {
    var offset;
    var div = document.getElementById("text");
    var increment = 56;
    
    var max = winheight - (2 * arrowHeight) - sliderHeight;
    try {
    } catch(e) {
        alert(e.description);
    }
    
        if (div.scrollHeight - winheight == 0) {
            offset = arrowHeight;
        } else {
            offset = (max * (div.scrollTop / (div.scrollHeight - winheight)) + arrowHeight); // below top arrow
        }

        if (arguments.length == 2) {
            offset = (arguments[1] - arrowHeight) / max;
            div.scrollTop = (div.scrollHeight - winheight) * offset;
        } else {
            if (direction == 'up') increment *= -1;
            div.scrollTop += increment;
            document.getElementById("scrollbar").style.top = offset + "px";
        }
        //document.getElementById("section").innerHTML = Math.ceil(100*offset) + "|" + div.scrollHeight + "|" + div.scrollTop; //ty + e.clientY - y;
}

function isScrollable() {
    var div = document.getElementById("text");
    document.getElementById("textnav").style.display = ((div.scrollHeight - arrowHeight) > winheight) ? "" : "none";
}

//http://adomas.org/javascript-mouse-wheel/
function handle(delta) {
	if (delta < 0)
		scroll("down");
	else
		scroll("up");
}

function wheel(event){
	var delta = 0;
	if (!event) event = window.event;
	if (event.wheelDelta) {
		delta = event.wheelDelta/120; 
		if (window.opera) delta = -delta;
	} else if (event.detail) {
		delta = -event.detail/3;
	}
	if (delta)
		handle(delta);
        if (event.preventDefault) event.preventDefault();
        event.returnValue = false;
}

function setTextHeight() {
    var topSiteToBottomText = 527; //587;
    var div = document.getElementById("text");
    var setHeight;

    setHeight = topSiteToBottomText - div.offsetTop + "px";
    div = document.getElementById("textnav"); 
}

//http://elouai.com/javascript-drag-and-drop.php
function movemouse(e)
{
  var pos = nn6 ? ty + e.clientY - y : ty + event.clientY - y
  if (isdrag) {
    if (pos >= 6) {
        if (pos <= winheight - (2 * arrowHeight)) { 
            dobj.style.top  = pos + "px";
        } else {
            dobj.style.top  = (winheight - (2 * arrowHeight)) + "px";
        }
    } else {
        dobj.style.top  = arrowHeight + "px";
    }
    scroll("down", pos);
    return false;
  }
}

function selectmouse(e) 
{
  var fobj       = nn6 ? e.target : event.srcElement;
  {
    isdrag = true;
    dobj = fobj;
    tx = parseInt(dobj.style.left+0);
    ty = parseInt(dobj.style.top+0);
    x = nn6 ? e.clientX : event.clientX;
    y = nn6 ? e.clientY : event.clientY;
    document.onmousemove=movemouse;
    return false;
  }
}
