// begin absolutely positioned scrollable area object scripts 
function verifyCompatibleBrowser(){ 
	this.ver = navigator.appVersion;
	this.dom = document.getElementById?1:0;
	this.ie5 = (this.ver.indexOf("MSIE 5")>-1 && this.dom)?1:0; 
	this.ie4 = (document.all && !this.dom)?1:0; 
	this.ns5 = (this.dom && parseInt(this.ver) >= 5) ? 1:0; 
	this.ns4 = (document.layers && !this.dom)?1:0; 
	this.bw = (this.ie5 || this.ie4 || this.ns4 || this.ns5); 
	return this;
} 

bw = new verifyCompatibleBrowser();

var objContainers = new Array();
var objScrollers = new Array();

var speed=70;

var loop, timer;

function ConstructObject(obj,nest) { 
	nest=(!nest) ? '':'document.'+nest+'.' 
	this.el=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.el.offsetHeight;
	this.clipHeight=bw.ns4?this.css.clip.height:this.el.offsetHeight;
	this.up=MoveAreaUp;
	this.down=MoveAreaDown; 
	this.MoveArea=MoveArea;
	this.x;
	this.y; 
	this.obj = obj + "Object";
	eval(this.obj + "=this"); 
	return this;
} 

function MoveArea(x,y) { 
	this.x = x;
	this.y = y;
	this.css.left = this.x;
	this.css.top = this.y;
} 

function MoveAreaDown(move,scrollbox){ 
	if(this.y > -this.scrollHeight + objContainers[scrollbox].clipHeight) { 
		this.MoveArea(0,this.y-move);
		if(loop) {
			setTimeout(this.obj+".down("+move+"," + scrollbox + ")",speed);
		}
	} 
} 

function MoveAreaUp(move){ 
	if (this.y < 0){ 
		this.MoveArea(0,this.y-move);
		if(loop) {
			setTimeout(this.obj+".up("+move+")",speed); 
		}
	} 
}

function JumpArea(move,scrollbox){
	objScrollers[scrollbox].MoveArea(0,0);
	if(move>0){
		objScrollers[scrollbox].down(move,scrollbox);
	}
	else{
		objScrollers[scrollbox].up(move,scrollbox);
	}
}

function PerformScroll(speed,scrollbox){ 
	if(initialised) { 
		loop=true; 
		if (speed > 0)
			objScrollers[scrollbox].down(speed,scrollbox);
		else
			objScrollers[scrollbox].up(speed);
	} 
}

function CeaseScroll(){ 
	loop = false;
	if(timer) {
		clearTimeout(timer);
	}
}

var initialised; 
function InitScrollableAreas(numAreas) {
	for (i = 1; i <= numAreas; i++) {
		objContainers[i] = new ConstructObject('container' + i);
		objScrollers[i]=new ConstructObject('content' + i,'container' + i);
		objScrollers[i].MoveArea(0,0);
		objContainers[i].css.visibility='visible';
		//alert(objScrollers[i].el.name);
	}
	
	initialised=true;
}

// end absolutely positioned scrollable area object scripts 
