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;}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.scrollWidth = bw.ns4 ? this.css.document.width : this.el.offsetWidth;    this.clipWidth = bw.ns4 ? this.css.clip.width : this.el.offsetWidth;    this.up = MoveAreaUp;	this.down = MoveAreaDown;	this.left = MoveAreaLeft;	this.right = MoveAreaRight;    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){ 	if (this.y >- this.scrollHeight + objContainer.clipHeight) { 	    this.MoveArea(0, this.y - move);	    if (loop) setTimeout(this.obj + ".down(" + move + ")", speed);	} }function MoveAreaUp(move){ 	if (this.y < 0) { 	    this.MoveArea(0, this.y - move);		if (loop) setTimeout(this.obj + ".up(" + move + ")", speed);	} }function MoveAreaRight(move){ 	if (this.x >- this.scrollWidth + objContainer.clipWidth) { 	    this.MoveArea(this.x - move, 0);	    if (loop) setTimeout(this.obj + ".right(" + move + ")", speed);	} }function MoveAreaLeft(move){ 	if (this.x < 0) { 	    this.MoveArea(this.x - move, 0);		if (loop) setTimeout(this.obj + ".left(" + move + ")", speed);	} }  function PerformScroll(speed, objScroller){	objScroller = (objScroller) ? objScroller : this.objScroller;		if (initialised) {		loop = true;		if (speed > 0) objScroller.down(speed);		else objScroller.up(speed);	} }function PerformHorizScroll(speed, objScroller){	objScroller = (objScroller) ? objScroller : this.objScroller;		if (initialised) {		loop = true;		if (speed > 0) objScroller.right(speed);		else objScroller.left(speed);	} }  function CeaseScroll(){     loop = false;    if (timer) clearTimeout(timer);} function InitialiseScrollableArea(containerID, contentID){     objContainer = new ConstructObject(containerID);    objScroller = new ConstructObject(contentID, containerID);    objScroller.MoveArea(0, 0);    objContainer.css.visibility = 'visible';    initialised = true;		return this.objScroller;}var bw = new verifyCompatibleBrowser();var speed = 50;var loop, timer;var initialised;