// var lastSection;
var animationID = null;
var thumbHeight = new Array();
var startThumb = new Array();
var endThumb = new Array();
var thumbIncrement = new Array();
var thumbChange = new Array();
var	thumbLoops = new Array();
var thumbSpot = new Array();
var thumbStep = new Array();
var offsetX = new Array();
var offsetY = new Array();
var thumbTrip = new Array();
var storeThumb = new Array();
var storeScroll = new Array();
var bodyHeight = new Array();
var startScroll = new Array();
var endScroll = new Array();
var scrollIncrement = new Array();
var scrollChange = new Array();
var scrollLoops = new Array();
var scrollStep = new Array();
var scrollSpot = new Array();
var bottomClip = new Array();
var scrollSpeed = new Array();
var direction = new Array();
var contentObject = new Array();
var contentObjectAlt = new Array();
var thumbObject = new Array();
var scrollUpObject = new Array();
var scrollDownObject = new Array();
var scrollBarObject = new Array();
var animationSpeed = new Array();
var scrollable = new Array();
var tempSetID = 0;
// rollover functions
function rollOnScroll(setID,buttonID) {
	measureBody(setID)
	if ((scrollSpot[setID] >= startScroll[setID] && buttonID == 1) || (scrollSpot[setID] <= endScroll[setID] && buttonID == 2)) {
		window.status = ""
		return
	} else {
		buttonNames[(setID*10)+buttonID].src = navOver[buttonID].src
		window.status = statusMessages[buttonID]
	}
	return true
}
function rollOffScroll(setID,buttonID) {
	if (contentObject[setID].active == true) {
		return
	}
	buttonNames[(setID*10)+buttonID].src = navStatic[buttonID].src
	window.status = ""
	return true
}
// Scrolling Functions
function scroll(setID,buttonID) {
	buttonNames[(setID*10)+buttonID].src = navDown[buttonID].src
	direction[setID] = buttonID
	measureBody(setID)
	if (direction[setID] == 1) {
		scrollStep[setID] = scrollIncrement[setID]
		thumbStep[setID] = -thumbIncrement[setID]
	} else if (direction[setID] == 2) {
		scrollStep[setID] = -scrollIncrement[setID]
		thumbStep[setID] = thumbIncrement[setID]
	}
	tempSetID = setID
	tempButtonID = buttonID
	animationID = window.setInterval("motion()",scrollSpeed[setID])
	return
}
function motion() {
	if ((thumbSpot[tempSetID] >= endThumb[tempSetID] && direction[tempSetID] == 2) || (thumbSpot[tempSetID] <= startThumb[tempSetID] && direction[tempSetID] == 1)) {
		rollOffScroll(tempSetID,tempButtonID)
		window.clearInterval(animationID)
		contentObject[tempSetID].active = false
	} else if (contentObject[tempSetID].active) {
		tempThumb = thumbSpot[tempSetID] + thumbStep[tempSetID]
		tempScroll = scrollSpot[tempSetID] + scrollStep[tempSetID]
		shiftTo(tempThumb,tempScroll,tempSetID)
	} else if (!contentObject[tempSetID].active) {
		window.clearInterval(animationID)
	}
	return
}
function shiftTo(newThumb,newScroll,theSet) {
	if (newThumb >= endThumb[theSet] || scrollSpot[theSet] < endScroll[theSet]) {
		thumbSpot[theSet] = endThumb[theSet]
		scrollSpot[theSet] = endScroll[theSet]
		thumbSpot[theSet].active = false
		scrollSpot[theSet].active = false
	} else if (newThumb <= startThumb[theSet] || scrollSpot[theSet] > startScroll[theSet]) {
		thumbSpot[theSet] = startThumb[theSet]
		scrollSpot[theSet] = startScroll[theSet]
		thumbSpot[theSet].active = false
		scrollSpot[theSet].active = false
	} else {
		thumbSpot[theSet] = newThumb
		scrollSpot[theSet] = newScroll
	}
	// actually move it
	if (NN4) {
		contentObject[theSet].top = scrollSpot[theSet]
		thumbObject[theSet].top = thumbSpot[theSet]
	} else if (IE4) {
		contentObject[theSet].top = scrollSpot[theSet] + "px"
		thumbObject[theSet].top = thumbSpot[theSet] + "px"
	}
}
// Dragging Functions
function grabThumb(evt,setID,buttonID) {
	measureBody(setID)
	tempButtonID = buttonID
	tempSetID = setID
	thumbObject[setID].active = true
	buttonNames[(setID*10)+buttonID].src = navDown[buttonID].src
	if (NN4) {
		offsetY[setID] = evt.pageY - thumbObject[setID].top
	} else if (IE4) {
		offsetY[setID] = window.event.offsetY
	}
	return true
}
function dragThumb(evt) {
	if (thumbObject[tempSetID].active == true) {
		if (NN4) {
			var thumbShot = evt.pageY - offsetY[tempSetID]
		} else if (IE4) {
			var thumbShot = window.event.clientY - offsetY[tempSetID]
		}
		var thumbShift = thumbSpot[tempSetID] - thumbShot
		direction[tempSetID] = (thumbShift < 0)? 2 : 1
		thumbTrip[tempSetID] += Math.abs(thumbShift)
		var tripCheck = parseInt((thumbTrip[tempSetID] / thumbIncrement[tempSetID]),10)
		if (tripCheck >= 1) {
			if (direction[tempSetID] == 1) {
				var scrollShot = scrollSpot[tempSetID] + (tripCheck * scrollIncrement[tempSetID])
			} else if (direction[tempSetID] == 2) {
				var scrollShot = scrollSpot[tempSetID] - (tripCheck * scrollIncrement[tempSetID])
			}
			thumbTrip[tempSetID] -= (tripCheck * thumbIncrement[tempSetID])
			shiftTo(thumbShot,scrollShot,tempSetID)
		} else {
			var scrollShot = scrollSpot[tempSetID]
			shiftTo(thumbShot,scrollShot,tempSetID)
		}
		return false
	}
	return
}
function directMouseUp(evt) {
	for (i=firstArray;i<=secondTotal;i++) {
		contentObject[i].active = false
		thumbObject[i].active = false
		thumbTrip[i] = 0
		offsetY[i] = null
		for (t=1;t<=3;t++) {
			buttonNames[t+(i*10)].src = navStatic[t].src
		}
		tempSetID = 0
	}
}
function jumpScroll(evt,setID) {
	thumbObject[setID].active = true
	contentObject[setID].active = true
	measureBody(setID)
	var tempY = (NN4)? evt.pageY : window.event.offsetY + startThumb[setID]
	var thumbTemp = 0;
	var scrollTemp = 0;
	var jumpFactor = parseInt(((bottomClip[setID] - startScroll[setID]) / scrollIncrement[setID]),10)
	if (tempY < thumbSpot[setID]) {
		thumbTemp = thumbSpot[setID] - (jumpFactor * thumbIncrement[setID])
		scrollTemp = scrollSpot[setID] + (jumpFactor * scrollIncrement[setID])
	} else if (tempY > thumbSpot[setID] + 18) {
		thumbTemp = thumbSpot[setID] + (jumpFactor * thumbIncrement[setID])
		scrollTemp = scrollSpot[setID] - (jumpFactor * scrollIncrement[setID])
	}
	shiftTo(thumbTemp,scrollTemp,setID)
	thumbObject[setID].active = true
	contentObject[setID].active = true
	return true
}
function measureBody(setID) {
	if (NN4) {
		bodyHeight[setID] = contentObject[setID].clip.height	
	} else if (IE4) {
		bodyHeight[setID] = contentObjectAlt[setID].scrollHeight
	}
	endScroll[setID] = bottomClip[setID] - bodyHeight[setID]
	scrollChange[setID] = startScroll[setID] - endScroll[setID]
	scrollLoops[setID] = Math.floor(scrollLoops[setID])
	var tempNum = scrollChange[setID] / scrollLoops[setID]
	scrollIncrement[setID] = Math.floor(tempNum)
	if (scrollIncrement[setID] < 1) {
		scrollIncrement[setID] = 1
	}
}
// secondary navigation
function showPanel(panelID) {
	if (pageLoaded == true && currentSecond == panelID) {
		return
	} else {
		for (i=1;i<=secondTotal;i++) {
			navStatic[200+i].src = navStoreStatic[200+i].src
			navOver[200+i].src = navStoreOver[200+i].src
			setClickOff(200+i)
			contentObject[i].visibility = (NN4)? "hide" : "hidden"
			thumbObject[i].visibility = (NN4)? "hide" : "hidden"
			scrollUpObject[i].visibility = (NN4)? "hide" : "hidden"
			scrollDownObject[i].visibility = (NN4)? "hide" : "hidden"
			scrollBarObject[i].visibility = (NN4)? "hide" : "hidden"
		}
		var tempNum = 200 + panelID;
		navOver[tempNum].src = navDown[tempNum].src
		navStatic[tempNum].src = navDown[tempNum].src
		setClickOn(tempNum)
		contentObject[panelID].visibility = (NN4)? "show" : "visible"
		if (scrollable[panelID]) {
			thumbObject[panelID].visibility = (NN4)? "show" : "visible"
			scrollUpObject[panelID].visibility = (NN4)? "show" : "visible"
			scrollDownObject[panelID].visibility = (NN4)? "show" : "visible"
			scrollBarObject[panelID].visibility = (NN4)? "show" : "visible"
		}
		currentSecond = panelID
	}
}
function adjustScrollers() {
	for (i=1;i<=secondTotal;i++) {
		if (NN4) {
			scrollDownObject[i].top = (setBottomMask - 10);
		} else if (IE4) {
			scrollDownObject[i].top = (setBottomMask - 10) + "px";
		}
	}
}
