
var initpos=Array();
var botpos=Array();

var scrolltextLoaded=Array();
var oScroll=Array();
var oCont=Array();
var stopal=false;
var curnum=0;
var scrollcount=1;


//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()
var mxscroll=Array();

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

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

//Object constructor
function makeObj(num,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")
	mxscroll[num]=this.scrollHeight;
	this.num=num;

    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;

	if ((-this.scrollHeight+oCont[this.num].clipHeight)<1) {
		this.css.left = this.x+px;
		this.css.top = this.y+px;
		}

	var spos=initpos[this.num]+((botpos[this.num]-initpos[this.num])*this.y/(-this.scrollHeight+oCont[this.num].clipHeight));
	if (document.getElementById&&browserType=="Net") {
		document.getElementById('scrollBarPointer'+this.num).style.top=spos+"px";
	    }
    else if (document.layers) {
		document.layers['scrollBarPointer'+this.num].top=spos;
		}

	else if (document.all) {
		document.all['scrollBarPointer'+this.num].style.pixelTop=spos;
    	}

	}

//Makes the object go up
function goDown(move){

	if (this.y>-this.scrollHeight+oCont[this.num].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(num,speed) {
	if (scrolltextLoaded[num]) {
		loop = true;
		if (speed>0) oScroll[num].down(speed)
		else oScroll[num].up(speed)
		}
	}

//Stops the scrolling (called on mouseout)
function noScroll() {
	loop = false;
	if (timer) clearTimeout(timer)
	}

//Makes the object


function poslayers(num) {
	var img=document.images["IMGscrollBar"+num];
	var imgcontent=document.getElementById("imgposscroldiv"+num);

    if (document.getElementById&&browserType=="Net") {
		contentX=0; //getForIeX(imgcontent);
		contentY=0; //getForIeY(imgcontent);


		imgt =getForIeY(img);
		imgl =getForIeX(img);
		imgp=document.getElementById("IMGscrollBarPointer"+num);
		}
	else if (document.layers) {
		imgt = img.y;
		imgl = img.x;

		contentX=0;//imgcontent.x;
		contentY=0;//imgcontent.y;

		imgp=false;
		}
	else if (document.all)	 {
		imgt = getForIeY(img);
    	imgl = getForIeX(img);

		contentX=0;//getForIeX(imgcontent);
		contentY=0;//getForIeY(imgcontent);

		imgp=document.all["IMGscrollBarPointer"+num];
     	}
	initpos[num]=imgt+1;

/*
	if (-mxscroll+oCont.clipHeight<=0) {
		if (imgp) imgp.height=Math.round(img.height/( ((mxscroll-oCont.clipHeight)/200)+1 ));
		}

	else if (imgp) document.images["IMGscrollBarPointer"].height=img.height;
*/

	if (imgp) botpos[num]=imgt+img.height-imgp.height-1;
	else botpos[num]=imgt+img.height-14;

	//	 alert(toppos+","+botpos);

	if (document.getElementById&&browserType=="Net") {
		document.getElementById('scrollBarPointer'+num).style.left=(imgl)+"px";
		document.getElementById('divScrollTextCont'+num).style.left=contentX+"px";
		document.getElementById('divScrollTextCont'+num).style.top=contentY+"px";
	    }
    else if (document.layers) {
		document.layers['scrollBarPointer'+num].left=imgl;
		document.layers['divScrollTextCont'+num].left=contentX;
		document.layers['divScrollTextCont'+num].top=contentY;
		}
	else if (document.all) {
		document.all["scrollBarPointer"+num].style.left=imgl;
		document.all["divScrollTextCont"+num].style.left=contentX;
		document.all["divScrollTextCont"+num].style.top=contentY;
	    }
	oScroll[num].moveIt(0,0)
	}

function scrolltextInit() {

	for (num=0;num<scrollcount;num++)
		{

		oCont[num] = new makeObj(num,'divScrollTextCont'+num);
		oScroll[num] = new makeObj(num,'divText'+num,'divScrollTextCont'+num);
		scrolltextLoaded[num] = true;
		poslayers(num);
		oCont[num].css.visibility = "visible";

		}
	}

function poslayersAll()
	{
	for (num=0;num<scrollcount;num++)
		{
		poslayers(num);
		}


	}



//Call the init on page load if the browser is ok...

if (bw.bw) {

	//window.onload=FireOnloadFunctions;
	//window.onresize=FireOnloadFunctions;
	//onload = scrolltextInit;
	//onresize=poslayersAll;
	}


function FireOnloadFunctions(){


		scrolltextInit();
		poslayersAll();
		InitialPositioning();



	}




var browserType=navigator.appName.substr(0,3);
var browserVers=navigator.appVersion;
var movePointer=true;

var ScrollBarSpeed=15;

var PixMove=2;
var draggingScrollBar=false;
var ScrollBarMY;
var ScrollBarPos=Array();
var mousex = 0
var mousey = 0

function StartDragScrollBar(num) {
	curnum=num;
	if (document.all) if (event) mousey=event.y;
	draggingScrollBar=true;
	ScrollBarMY=mousey;
	if (document.getElementById&&browserType=="Net") {
		ScrollBarPos[num]=parseInt(document.getElementById('scrollBarPointer'+num).style.top);
	    }
	else if (document.layers) {
		ScrollBarPos[num]=parseInt(document.layers['scrollBarPointer'+num].top);
		}
	else if (document.all) {
		ScrollBarPos[num]=parseInt(document.all['scrollBarPointer'+num].style.pixelTop);
	    }

	}

function StopDragScrollBar() {
//	alert('stop');
	loop=false;
	if (draggingScrollBar) {
		draggingScrollBar=false;
		}
//	document.onmouseup=function() {};
	}

function DragScrollBar(num) {
	if (draggingScrollBar) {
		if (document.all) if (event) mousey=event.y;
		var pos=ScrollBarPos[num]-ScrollBarMY+mousey;
		if (pos<botpos[num] && pos>initpos[num]) {
			oScroll[num].moveIt(0,Math.round(((pos-initpos[num])/(botpos[num]-initpos[num]))*(-mxscroll[num]+oCont[num].clipHeight)));
			}
		else if (pos>botpos[num]) oScroll[num].moveIt(0,Math.round(-mxscroll[num]+oCont[num].clipHeight));
		else oScroll[num].moveIt(0,0);
		}
	}

if(document.layers) document.captureEvents(Event.MOUSEMOVE);
if(document.layers) document.captureEvents(Event.MOUSEUP);

if(document.all) {
	document.onmousemove=function()	{
	    mousex=event.x;
	    mousey=event.y;
		DragScrollBar(curnum)
	    return true;
		}
} else {
	document.onmousemove=function(e) {
		mousex = e.pageX
		mousey = e.pageY
		DragScrollBar(curnum)
		return true
		}
	document.onmouseup=function(e) {
		StopDragScrollBar();
		return true;
		}
	}


