// NOTE: You shouldn't need to alter this document at all...

function setup() { 
if (!loaded) ZrefreshID = setInterval ("fix()",Zrefresh);
	loaded=1;
	initZobjects();
if (centerAll) {
	centerNudge = (Zbrowse.width()-Zobject[getZnum('divOutline')].left-(Zobject[getZnum('scrollbkg')].left+Zobject[getZnum('scrollbkg')].width))/2;
	} else { centerNudge = 0; }
		if (!sprawlFlag) {
Zobject[getZnum('divCont')].left = Zobject[getZnum('divCont')].left + centerNudge;
Zobject[getZnum('divOutline')].left = Zobject[getZnum('divOutline')].left + centerNudge;
	Zobject[getZnum('scrollbkg')].left = Zobject[getZnum('scrollbkg')].left + centerNudge;
	Zobject[getZnum('scrollbkg')].top = Zobject[getZnum('scrollbkg')].top;
		} else {
Zobject[getZnum('divCont')].left =  safeLeft;
Zobject[getZnum('divCont')].top =  safeTop + 2;
Zobject[getZnum('divCont')].width = safeRight() - safeLeft - Zobject[getZnum('scrollbkg')].width - 5;
Zobject[getZnum('divCont')].height = safeBottom() - safeTop - 4;
Zobject[getZnum('floatContent')].width = Zobject[getZnum('divCont')].width - 12;
	Zobject[getZnum('divOutline')].left = safeLeft;
	Zobject[getZnum('divOutline')].top = safeTop;
	Zobject[getZnum('divOutline')].width = Zobject[getZnum('divCont')].width + 2;
	Zobject[getZnum('divOutline')].height = safeBottom() - safeTop;
Zobject[getZnum('scrollbkg')].left = safeRight() - Zobject[getZnum('scrollbkg')].width;
Zobject[getZnum('scrollbkg')].top = safeTop;
Zobject[getZnum('scrollbkg')].height = safeBottom() - safeTop;
		}
		
	Zobject[getZnum('uparrow')].left = Zobject[getZnum('scrollbkg')].left
	Zobject[getZnum('uparrow')].top = Zobject[getZnum('scrollbkg')].top;
Zobject[getZnum('downarrow')].left = Zobject[getZnum('scrollbkg')].left;
Zobject[getZnum('downarrow')].top = Zobject[getZnum('scrollbkg')].top 
		+ Zobject[getZnum('scrollbkg')].height 
		- Zobject[getZnum('downarrow')].height
Zobject[getZnum('slider')].top = Zobject[getZnum('scrollbkg')].top+ZupDownArrows;
Zobject[getZnum('slider')].left =  Zobject[getZnum('scrollbkg')].left + 2;

if (Zflag.gecko && !Zflag.IE) { // quick fix for gecko and the extra border space, added to the outside!
	Zobject[getZnum('divOutline')].width = Zobject[getZnum('divOutline')].width-2;
	Zobject[getZnum('divOutline')].height = Zobject[getZnum('divOutline')].height-2; }

if (Zflag.NS) 		{Zobject[getZnum('floatContent')].height=document.divCont.document.floatContent.document.height;}
if (Zflag.Opera) 	{Zobject[getZnum('floatContent')].height=document.getElementById('floatContent').style.pixelHeight;}
else if (Zflag.IE) 		{Zobject[getZnum('floatContent')].height=document.all.floatContent.offsetHeight;}
else if (Zflag.gecko) 	{Zobject[getZnum('floatContent')].height=document.getElementById('floatContent').offsetHeight;}

if (Zobject[getZnum('floatContent')].height >= Zobject[getZnum('divCont')].height) {
	sAmount = Zobject[getZnum('floatContent')].height-Zobject[getZnum('divCont')].height;
	reveal();}
	for (m=0;m<Zobject.length;m++){ Zobject[m].setZall(); }
	clipString = "rect(0px " + Zobject[getZnum('divCont')].width + "px " + Zobject[getZnum('divCont')].height + "px 0px)";
	Zobject[getZnum('divCont')].DHTML.clip = clipString;
// this variable have to be set after the Zobject array has been filled.
Ztravel = Zobject[getZnum('scrollbkg')].height-(ZupDownArrows*2)-Zobject[getZnum('slider')].height; 
	}

// capture the events that will be happening.

if (Zflag.NS || Zflag.opera) {
	window.captureEvents(Event.MOUSEMOVE | Event.MOUSEDOWN | Event.MOUSEUP | Event.CLICK);
	window.onMouseMove = moveHandler;
	window.onMouseDown = StartE;
	window.onMouseUp = EndE;}
else if (Zflag.IE) {
	document.onmousemove=moveHandler;
	document.onmousedown=StartE;
	document.onmouseup=EndE;
	document.ondragstart=StartE;}
else if (Zflag.gecko && !Zflag.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 reveal() {
	for (m=0;m<Zobject.length;m++){ Zobject[m].visibility = 'visible'; }
if (Zobject[getZnum('floatContent')].height <= Zobject[getZnum('scrollbkg')].height) {
	Zobject[getZnum('slider')].visibility = 'hidden'; }
	}

	function moveHandler(e) {
	if (!loaded) return false;
if (Zflag.NS || Zflag.IE || Zflag.gecko || Zflag.Opera) { 
	Xpos = (Zflag.IE)?event.x:e.pageX;
	Ypos = (Zflag.IE)?event.y:e.pageY;
	if (mDown) return false;
if ((Xpos >= Zobject[getZnum('scrollbkg')].left) 
	&& (Xpos <= Zobject[getZnum('scrollbkg')].left+Zobject[getZnum('scrollbkg')].width)) { 
if ((Ypos >= Zobject[getZnum('scrollbkg')].top) 
	&& (Ypos <= Zobject[getZnum('scrollbkg')].top+ZupDownArrows))  { cUp=1; cDown=0; cBar=0; }
if ((Ypos >  Zobject[getZnum('scrollbkg')].top+ZupDownArrows) 
	&& (Ypos <= Zobject[getZnum('scrollbkg')].height+Zobject[getZnum('scrollbkg')].top-ZupDownArrows)) { cUp=0; cDown=0; cBar=1; }
if ((Ypos > Zobject[getZnum('scrollbkg')].height+Zobject[getZnum('scrollbkg')].top-ZupDownArrows) 
	&& (Ypos <= Zobject[getZnum('scrollbkg')].top+Zobject[getZnum('scrollbkg')].height)) { cUp=0; cDown=1; cBar=0; }
}else { cUp=0;cDown=0;cBar=0;mDown=0;}}}

function EndE() { mDown=0;if (Zflag.IE) { return false;}}
function StartE() { mDown=1;if (cBar || cDown || cUp || Zflag.IE) { return false; }}

	function fix() {
if (mDown && cBar) {
	where = Ypos-(Zobject[getZnum('slider')].height/2); 
if (where < (Zobject[getZnum('scrollbkg')].top+ZupDownArrows)) { where=(Zobject[getZnum('scrollbkg')].top+ZupDownArrows); } 
if (where > Zobject[getZnum('scrollbkg')].height+Zobject[getZnum('scrollbkg')].top-ZupDownArrows-Zobject[getZnum('slider')].height) { 
	where=Zobject[getZnum('scrollbkg')].height+Zobject[getZnum('scrollbkg')].top-ZupDownArrows-Zobject[getZnum('slider')].height;
	 }
	pageY = -((where-(Zobject[getZnum('scrollbkg')].top+ZupDownArrows))/Ztravel) * sAmount;
 	Zobject[getZnum('slider')].top = where;
	Zobject[getZnum('floatContent')].top = pageY;
 	}

if (mDown && (cUp || cDown)) { Clicker(); }
	for (m=0;m<Zobject.length;m++){ Zobject[m].setZall(); }
	}

	function Clicker() {
if ((cUp && (pageY < 0)) || (cDown && (pageY > (-sAmount))) || cBar) {
if (cUp) { pageY = pageY + Zdistance; if (pageY > 0) { pageY = 0; }}
else if (cDown) { pageY = pageY - Zdistance; if (pageY < (-sAmount)) { pageY = (-sAmount); }}
else if (cBar) { pageY = -(((Ypos-(Zobject[getZnum('slider')].height/2))-(Zobject[getZnum('scrollbkg')].top+ZupDownArrows))/Ztravel) * sAmount; }
	Zobject[getZnum('floatContent')].top = pageY; 
where = Zobject[getZnum('scrollbkg')].top+ZupDownArrows-((pageY/sAmount)*Ztravel);
if (where < Zobject[getZnum('scrollbkg')].top+ZupDownArrows) { where=Zobject[getZnum('scrollbkg')].top+ZupDownArrows; } 
if (where > Zobject[getZnum('scrollbkg')].height+Zobject[getZnum('scrollbkg')].top-ZupDownArrows-Zobject[getZnum('slider')].height) { 
	where=Zobject[getZnum('scrollbkg')].height+Zobject[getZnum('scrollbkg')].top-ZupDownArrows-Zobject[getZnum('slider')].height; }
	Zobject[getZnum('slider')].top = where; }}

	function topper() {
where=(Zobject[getZnum('scrollbkg')].top+ZupDownArrows);pageY=0;
	Zobject[getZnum('slider')].top = where; 
	Zobject[getZnum('floatContent')].top = pageY;}

//Important! Don't delete this next bit...

	onload=setup;
	onresize=setup;
	window.onfocus = setup;
