// Partly adapted from ScrollText script by Thomas Brattli at DHTMLCentral.com

//Browsercheck (needed)
function lib_bwcheck() {
	this.ver = navigator.appVersion;
	this.agent = navigator.userAgent
	this.dom = document.getElementById ? 1 : 0;
	this.opera5 = this.agent.indexOf("Opera 5") > -1;
	this.ie5 = (this.ver.indexOf("MSIE 5")>-1 && this.dom && !this.opera5) ? 1 : 0; 
	this.ie6 = (this.ver.indexOf("MSIE 6")>-1 && this.dom && !this.opera5) ? 1 : 0;
	this.ie4 = (document.all && !this.dom && !this.opera5) ? 1 : 0;
	this.ie = this.ie4 || this.ie5 || this.ie6
	this.mac = this.agent.indexOf("Mac")>-1
	this.ns6 = (this.dom && parseInt(this.ver) >= 5) ? 1 : 0; 
	this.ns4 = (document.layers && !this.dom) ? 1 : 0;
	this.bw = (this.ie6 || this.ie5 || this.ie4 || this.ns4 || this.ns6 || this.opera5);
	return this;
}
var bw = new lib_bwcheck();

//object constructor for content layers
function makeLayer(obj,nest) {
	nest=(!nest) ? "" : 'document.'+nest+'.' //nest refers to the parent layer (needed for ns4)
	this.element =
		bw.dom ? document.getElementById(obj) :
		bw.ie4 ? document.all[obj] :
		bw.ns4 ? eval(nest+'document.'+obj) : 0;
  	this.css =
		bw.dom ? document.getElementById(obj).style :
		bw.ie4 ? document.all[obj].style :
		bw.ns4 ? eval(nest+'document.'+obj) : 0;
	this.scrollHeight = bw.ns4 ? this.css.document.height : this.element.offsetHeight;
	this.clipHeight = bw.ns4 ? this.css.clip.height : this.element.offsetHeight;
	this.up = goUp;
	this.down = goDown;
	this.moveIt = moveIt;
	this.checkScroll = checkScroll;
	this.showLayer = showLayer;
	this.hideLayer = hideLayer;
	this.x = 0;
	this.y = 0;
	this.obj = obj + "Object"
    eval(this.obj + "= this")
	return this
}

//Panel Display
var currentPanel = 0;

function showPanel(index) {
	if (scrollContentLoaded && !isScrolling) {
		if (currentPanel != index && currentPanel != null) {
			eval("oPanel"+currentPanel+".hideLayer()");
			eval("oArrows"+currentPanel+".hideLayer()");
			eval("oPanel"+index+".showLayer()");
			eval("oContent"+index+".checkScroll("+index+")");
			eval("oContent"+index+".moveIt(0,0)");
		}
		else {
			eval("oPanel"+index+".showLayer()");
			eval("oContent"+index+".checkScroll("+index+")");
		}
		currentPanel = index;
	}
}
function showLayer() {
	this.css.visibility = "visible";
}
function hideLayer() {
	this.css.visibility = "hidden";
}
function checkScroll(index) {
	if (this.scrollHeight > clipHeight) {
		eval("oArrows"+index+".showLayer()");
	}
	else { eval("oArrows"+index+".hideLayer()"); }
}

//Scroll Content
var px = bw.ns4 || window.opera ? "" : "px";
var clipHeight = 160; // the clipHeight of the container layer
var move = 5; // scroll increment
var scrollSpeed = 30;
var loop = false;
var scrollTimer = null;

function scrollDown(index) {
	if (scrollContentLoaded) {
		loop = true;
		eval("oContent"+index+".down()");
	}
}
function scrollUp(index) {
	if (scrollContentLoaded) {
		loop = true;
		eval("oContent"+index+".up()");
	}
}
function goDown() { //Makes the object go up
	if (this.y > clipHeight - this.scrollHeight) {
		this.moveIt(0,this.y - move)
		if(loop) scrollTimer = setTimeout(this.obj+".down()",scrollSpeed);
	}
}
function goUp() { //Makes the object go down
	if (this.y < 0) {
		this.moveIt(0,this.y + move)
		if(loop) scrollTimer = setTimeout(this.obj+".up()",scrollSpeed);
	}
}
function moveIt(x,y) {
	this.x = x;
	this.y = y;
	this.css.left = this.x + px;
	this.css.top = this.y + px;
}
function noScroll(){
	loop = false;
	if (scrollTimer) clearTimeout(scrollTimer);
}

//Initialize
var scrollContentLoaded = false;

function initContent(index) {
	if (bw.bw) {
		oPanel0 = new makeLayer('panel0');
		oPanel100 = new makeLayer('panel100');
		oPanel1 = new makeLayer('panel1');
		oPanel11 = new makeLayer('panel11');
		oPanel2 = new makeLayer('panel2');
		oPanel21 = new makeLayer('panel21');
		oPanel3 = new makeLayer('panel3');
		oPanel31 = new makeLayer('panel31');
		oPanel4 = new makeLayer('panel4');
		oPanel41 = new makeLayer('panel41');
		oPanel5 = new makeLayer('panel5');
		oPanel51 = new makeLayer('panel51');
		oPanel6 = new makeLayer('panel6');
		oPanel61 = new makeLayer('panel61');
		oPanel7 = new makeLayer('panel7');
		oPanel71 = new makeLayer('panel71');
		oPanel8 = new makeLayer('panel8');
		oPanel81 = new makeLayer('panel81');
		oPanel9 = new makeLayer('panel9');
		oPanel91 = new makeLayer('panel91');
		oPanel10 = new makeLayer('panel10');
		oArrows0 = new makeLayer('arrows0');
		oArrows100 = new makeLayer('arrows100');
		oArrows1 = new makeLayer('arrows1');
		oArrows11 = new makeLayer('arrows11');
		oArrows2 = new makeLayer('arrows2');
		oArrows21 = new makeLayer('arrows21');
		oArrows3 = new makeLayer('arrows3');
		oArrows31 = new makeLayer('arrows31');
		oArrows4 = new makeLayer('arrows4');
		oArrows41 = new makeLayer('arrows41');
		oArrows5 = new makeLayer('arrows5');
		oArrows51 = new makeLayer('arrows51');
		oArrows6 = new makeLayer('arrows6');
		oArrows61 = new makeLayer('arrows61');
		oArrows7 = new makeLayer('arrows7');
		oArrows71 = new makeLayer('arrows71');
		oArrows8 = new makeLayer('arrows8');
		oArrows81 = new makeLayer('arrows81');
		oArrows9 = new makeLayer('arrows9');
		oArrows91 = new makeLayer('arrows91');
		oArrows10 = new makeLayer('arrows10');
		oContainer0 = new makeLayer('container0');
		oContent0 = new makeLayer('content0','container0');
		oContainer100 = new makeLayer('container100');
		oContent100 = new makeLayer('content100','container100');
		oContainer1 = new makeLayer('container1');
		oContent1 = new makeLayer('content1','container1');
		oContainer11 = new makeLayer('container11');
		oContent11 = new makeLayer('content11','container11');
		oContainer2 = new makeLayer('container2');
		oContent2 = new makeLayer('content2','container2');
		oContainer21 = new makeLayer('container21');
		oContent21 = new makeLayer('content21','container21');
		oContainer3 = new makeLayer('container3');
		oContent3 = new makeLayer('content3','container3');
		oContainer31 = new makeLayer('container31');
		oContent31 = new makeLayer('content31','container31');
		oContainer4 = new makeLayer('container4');
		oContent4 = new makeLayer('content4','container4');
		oContainer41 = new makeLayer('container41');
		oContent41 = new makeLayer('content41','container41');
		oContainer5 = new makeLayer('container5');
		oContent5 = new makeLayer('content5','container5');
		oContainer51 = new makeLayer('container51');
		oContent51 = new makeLayer('content51','container51');
		oContainer6 = new makeLayer('container6');
		oContent6 = new makeLayer('content6','container6');
		oContainer61 = new makeLayer('container61');
		oContent61 = new makeLayer('content61','container61');
		oContainer7 = new makeLayer('container7');
		oContent7 = new makeLayer('content7','container7');
		oContainer71 = new makeLayer('container71');
		oContent71 = new makeLayer('content71','container71');
		oContainer8 = new makeLayer('container8');
		oContent8 = new makeLayer('content8','container8');
		oContainer81 = new makeLayer('container81');
		oContent81 = new makeLayer('content81','container81');
		oContainer9 = new makeLayer('container9');
		oContent9 = new makeLayer('content9','container9');
		oContainer91 = new makeLayer('container91');
		oContent91 = new makeLayer('content91','container91');
		oContainer10 = new makeLayer('container10');
		oContent10 = new makeLayer('content10','container10');
		scrollContentLoaded = true;
		currentPanel = (index) ? index : 0;
		showPanel(currentPanel);
	}
}
