//  DocOzone's Javascript code, all rights reserved.
//  Copyright © 1995,1996,1997,1998,1999,2000 and 2001. (woo!)
//  You may this code to help learn how to use Javascript.
//  Feel free to use bits and pieces of it in your own work,
//  but please remember to credit me properly! Redistributing
//  my code and claiming it as your own is frowned upon. :/
//
//  Your pal,   -Dr. Thaddeus Ozone-    
//        http://www.ozonicLabs.com/

// important variables here! Refer to the instructions.

    mark = 20;  distance = 9;   // milliseconds to repeat & amount to scroll.
    sTop = 10;     sLeft = 720; // define the top left corner of the scroller area.
   sHigh = 220;    sWide = 14;  // overall height & width of the scrolling area.
    tTop = 10;     tLeft = 270;  // define the top left corner of the text area.
   tHigh = 225;    tWide = 450; // overall height & width of the text window to display.
   uHigh = 12;     dHigh = 12;  // how tall are the 'up' and 'down' arrows?
 slidTop = 22;  slidLeft = 722; // define the 'rest' position of the slider.
slidWide = 10;  slidHigh = 31;  // define the dimensions of the slider.

// NOTE: You shouldn't need to alter anything after this point.

window.onerror=null;
NS = (document.layers) ? 1:0
IE = (document.all) ? 1:0
opera = (navigator.appName.indexOf("pera") > -1) ? 1:0;
gecko = (document.getElementById) ? 1:0
        loaded=0;
        layerPreStart = "";
        layerStart = "";
        layerLeft = ".left";
        layerTop = ".top";
        layerStyle = ""; 
if (NS) {
        layerPreStart = "document.divCont.";
        layerStart = "document.";
        layerStyle = "";  }
if (gecko || IE){
        layerStart = "document.getElementById('";
        layerStyle = "').style"; }
if (IE && !gecko){
        layerStart = "document.all.";
        layerStyle = ".style"; }

travel = sHigh-uHigh-dHigh-slidHigh; 

if (NS || opera) {
	window.captureEvents(Event.MOUSEMOVE | Event.MOUSEDOWN | Event.MOUSEUP | Event.CLICK);
	window.onMouseMove = moveHandler;
	window.onMouseDown = StartE;
	window.onMouseUp = EndE;}
else if (IE) {
	document.onmousemove=moveHandler;
	document.onmousedown=StartE;
	document.onmouseup=EndE;
	document.ondragstart=StartE;}
else if (gecko && !opera) {
	document.ondragstart = StartE;
	document.addEventListener("mousedown", StartE, true);
	document.addEventListener("mousemove", moveHandler, true);
	document.addEventListener("mouseup", EndE, true);
	}
pageY = 0;sAmount = 0;
cUp=0; cDown=0; cBar=0; mDown=0;

	function setup() { loaded=1;
eval(layerStart+"divCont"+layerStyle+layerLeft+" = " + tLeft);eval(layerStart+"divCont"+layerStyle+layerTop+" = " + tTop);
eval(layerStart+"slider"+layerStyle+layerLeft+" = " + slidLeft);eval(layerStart+"slider"+layerStyle+layerTop+" = " + slidTop);
eval(layerStart+"scrollbkg"+layerStyle+layerLeft+" = " + sLeft);eval(layerStart+"scrollbkg"+layerStyle+layerTop+" = " + sTop);
if (NS) 	{conHigh=document.divCont.document.floatContent.document.height;}
if (IE) 	{conHigh=document.all.floatContent.offsetHeight;}
if (gecko) 	{conHigh=document.getElementById('floatContent').offsetHeight;}
if (opera) {conHigh=document.getElementById('floatContent').style.pixelHeight;}
if (conHigh >= sHigh) {
markID = setInterval ("fix()",mark);
sAmount = conHigh-sHigh;reveal();}}

	function reveal() {if (conHigh >= sHigh) {
eval(layerStart+"scrollbkg"+layerStyle+".visibility = 'visible'"); 
eval(layerStart+"slider"+layerStyle+".visibility = 'visible'"); }}

	function moveHandler(e) {
if (NS || IE || gecko || opera) { if (loaded && NS) { reveal(); }
	Xpos = (IE)?event.x:e.pageX
	Ypos = (IE)?event.y:e.pageY 
	if (mDown) return false;
if ((Xpos >= sLeft) && (Xpos <= sLeft+sWide)) { 
if ((Ypos >= sTop) && (Ypos <= sTop+uHigh))  { cUp=1; cDown=0; cBar=0; }
if ((Ypos >  sTop+uHigh) && (Ypos <= sHigh+sTop-dHigh)) { cUp=0; cDown=0; cBar=1; }
if ((Ypos > sHigh+sTop-dHigh) && (Ypos <= sTop+sHigh)) { cUp=0; cDown=1; cBar=0; }
}else { cUp=0;cDown=0;cBar=0;mDown=0;}}}
function EndE() { mDown=0;if (IE) { return false;}}
function StartE() { mDown=1;if (cBar || cDown || cUp || IE) { return false;}}

	function fix() {
if (mDown && cBar) {
where = Ypos-(slidHigh/2); 
if (where < slidTop) { where=slidTop; } 
if (where > sHigh+sTop-dHigh-slidHigh) { where=sHigh+sTop-dHigh-slidHigh; }
eval(layerStart+"slider"+layerStyle+layerTop+" = where"); 
pageY = -((where-slidTop)/travel) * sAmount;
eval(layerPreStart+layerStart+"floatContent"+layerStyle+layerTop+" = pageY"); }
if (mDown && (cUp || cDown)) { Clicker(); }}

	function Clicker() {
if ((cUp && (pageY < 0)) || (cDown && (pageY > (-sAmount))) || cBar) {
if (cUp) { pageY = pageY + distance; if (pageY > 0) { pageY = 0; }}
else if (cDown) { pageY = pageY - distance; if (pageY < (-sAmount)) { pageY = (-sAmount); }}
else if (cBar) { pageY = -(((Ypos-(slidHigh/2))-(sTop+uHigh))/travel) * sAmount; }
eval(layerPreStart+layerStart+"floatContent"+layerStyle+layerTop+" = pageY"); 
where = sTop+uHigh-((pageY/sAmount)*travel);
if (where < sTop+uHigh) { where=sTop+uHigh; } 
if (where > sHigh+sTop-dHigh-slidHigh) { where=sHigh+sTop-dHigh-slidHigh; }
eval(layerStart+"slider"+layerStyle+layerTop+" = where"); }}

	function topper() {
where=slidTop;pageY=0;
eval(layerStart+"slider"+layerStyle+layerTop+" = where"); 
eval(layerPreStart+layerStart+"floatContent"+layerStyle+layerTop+" = pageY");}

	onload=setup;