function lib_bwcheck(){ //Browsercheck (needed)
	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.chrome=(this.ver.indexOf("Chrome")>-1)?1:0;
	this.safari=(this.ver.indexOf("Safari")>-1 && !this.chrome)?1:0;
	this.bw=(this.ie6 || this.ie5 || this.ie4 || this.ns4 || this.ns6 || this.opera5 || this.chrome || this.safari )
	return this
}
var bw=new lib_bwcheck()


/*****************

You set the width and height of the divs inside the style tag, you only have to
change the divScrollTextCont, Remember to set the clip the same as the width and height.
You can remove the divUp and divDown layers if you want.
This script should also work if you make the divScrollTextCont position:relative.
Then you should be able to place this inside a table or something. Just remember
that Netscape crash very easily with relative positioned divs and tables.

Updated with a fix for error if moving over layer before pageload.

****************/


//If you want it to move faster you can set this lower, it's the timeout:
var speed = 65

//Sets variables to keep track of what's happening
var loop, timer

//Object constructor
function makeObj(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=goUp;this.down=goDown;
	this.moveIt=moveIt; this.x=0; this.y=0;
    this.obj = obj + "Object"
    eval(this.obj + "=this")
    return this
}

// A unit of measure that will be added when setting the position of a layer.
var px = bw.ns4||window.opera?"":"px";

function moveIt(x,y){
	this.x = x
	this.y = y
	this.css.left = this.x+px
	this.css.top = this.y+px
}

//Makes the object go up
function goDown(move){
	if (this.y>-this.scrollHeight+oCont.clipHeight){
		this.moveIt(0,this.y-move)
			if (loop) setTimeout(this.obj+".down("+move+")",speed)
	}
}
//Makes the object go down
function goUp(move){
	if (this.y<0){
		this.moveIt(0,this.y-move)
		if (loop) setTimeout(this.obj+".up("+move+")",speed)
	}
}

//Calls the scrolling functions. Also checks whether the page is loaded or not.
function scroll(speed){
	if (scrolltextLoaded){
		loop = true;
		if (speed>0) oScroll.down(speed)
		else oScroll.up(speed)
	}
}

//Stops the scrolling (called on mouseout)
function noScroll(){
	loop = false
	if (timer) clearTimeout(timer)
}
//Makes the object
var scrolltextLoaded = false
function scrolltextInit(){
	if(bw.mac) {
		var css = bw.dom?document.getElementById('divScrollTextCont').style:bw.ie4?document.all['divScrollTextCont'].style:bw.ns4?eval(nest+'document.'+'divScrollTextCont'):0;
		css.top = '151px';
		setTimeout("css.top='170px'", 2000);
	}
	if(bw.chrome || bw.safari) {
		var css = bw.dom?document.getElementById('divScrollTextCont').style:bw.ie4?document.all['divScrollTextCont'].style:bw.ns4?eval(nest+'document.'+'divScrollTextCont'):0;
		css.top = '196px';
		setTimeout("css.top='215px'", 2000);
	}

	oCont = new makeObj('divScrollTextCont')
	oScroll = new makeObj('divText','divScrollTextCont')
	oScroll.moveIt(0,0)
	oCont.css.visibility = "visible"
	scrolltextLoaded = true
	
	updPosition("divScrollTextCont","news_cell",0, 0);
}

/*
function updRightSideLayerPosition() {
	updPosition("divScrollTextCont","news_cell");
	updPosition("divHelp","bohk_help_image");
}

function updPosition(layerID, cellID) {
	var layerObj = document.getElementById(layerID);
	var cellObj = document.getElementById(cellID);
	
	layerObj.style.left = (findPosX(cellObj)+20)+'px';
	layerObj.style.top  = (findPosY(cellObj)+73)+'px';
}
*/
function updRightSideLayerPosition() {
	updPosition("divScrollTextCont","news_cell", 0, 0);
	updPosition("divHelp","bohk_help_image", 20, 73);
	updCenterBorder();
}

function updPosition(layerID, cellID, adj_width, adj_height) {
	var layerObj = document.getElementById(layerID);
	var cellObj = document.getElementById(cellID);
	if (!layerObj || !cellObj) return;
	layerObj.style.left = (findPosX(cellObj) + parseInt(adj_width,10))+'px';
	layerObj.style.top  = (findPosY(cellObj) + parseInt(adj_height,10))+'px';
}

function updCenterBorder() {
	for (var i=1; i<11; i++)
	{
		var cellObj1 = document.getElementById("row"+ i + "_cell_left");
		var cellObj2 = document.getElementById("row"+ i + "_cell_right");
		
		if (!cellObj1 || !cellObj2)
			return;
		
		var imgLeftObj1 = document.getElementById("row"+ i + "_left_img1");
		var imgLeftObj2 = document.getElementById("row"+ i + "_left_img2");
		var imgRightObj1 = document.getElementById("row"+ i + "_right_img1");
		var imgRightObj2 = document.getElementById("row"+ i + "_right_img2");
		
		imgLeftObj1.height = 1;
		imgLeftObj2.height = 1;
		imgRightObj1.height = 1;
		imgRightObj2.height = 1;
    	
		if (cellObj1.offsetHeight > cellObj2.offsetHeight)
		{
			imgLeftObj1.height = cellObj1.offsetHeight;
			imgLeftObj2.height = cellObj1.offsetHeight;
			imgRightObj1.height = cellObj1.offsetHeight;
			imgRightObj2.height = cellObj1.offsetHeight;
		}	
		else if (cellObj1.offsetHeight < cellObj2.offsetHeight)
		{
			imgLeftObj1.height = cellObj2.offsetHeight;
			imgLeftObj2.height = cellObj2.offsetHeight;
			imgRightObj1.height = cellObj2.offsetHeight;
			imgRightObj2.height = cellObj2.offsetHeight;
		}
		else
			return;
	}
}

function findPosX(obj){
	var curleft = 0;
	if (obj.offsetParent){
		while (obj.offsetParent){
			curleft += obj.offsetLeft
			obj = obj.offsetParent;
			if(getStyle(obj, "position")=="absolute") break;
		}
	}
	else if (obj.x)	curleft += obj.x;
	return curleft;
}

function findPosY(obj){
	var curtop = 0;
	if (obj.offsetParent){
		while (obj.offsetParent){
			curtop += obj.offsetTop
			if(bw.opera) {	//doesn't work
				curtop+= depx(getStyle(obj, 'margin-top'));
				curtop+= depx(getStyle(obj, 'padding-top'));
			}
			if(bw.chrome || bw.safari) {
				curtop+= depx(getStyle(obj, 'margin-top'));
				curtop+= depx(getStyle(obj, 'padding-top'));
			}
			obj = obj.offsetParent;
			if(getStyle(obj, "position")=="absolute") break;
		}
	}
	else if (obj.y)	curtop += obj.y;	// NS4
	return curtop;
}

function getStyle(x,styleProp){
	//var x = document.getElementById(el);
	if (window.getComputedStyle)
	var y = window.getComputedStyle(x,null).getPropertyValue(styleProp);
	else if (x.currentStyle)
	var y = eval('x.currentStyle.' + styleProp);
	return y;
}

//Call the init on page load if the browser is ok...
//if (bw.bw) onload = scrolltextInit;
window.onresize = updRightSideLayerPosition;