/**********************************************************************************   
PageScroll 
*   Copyright (C) 2001 Thomas Brattli
*   This script was released at DHTMLCentral.com
*   Visit for more great scripts!
*   This may be used and changed freely as long as this msg is intact!
*   We will also appreciate any links you could give us.
*
*   Made by Thomas Brattli
*
*   Script date: 09/23/2001 (keep this date to check versions) 
*   edited by Tomi Kulmala 08.08.2005 - Creanor
*********************************************************************************/
function lib_bwcheck(){ //Browsercheck (needed)
	this.ver=navigator.appVersion
	this.agent=navigator.userAgent
	this.dom=document.getElementById?1:0
	this.opera5=(navigator.userAgent.indexOf("Opera")>-1 && document.getElementById)?1:0
	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=lib_bwcheck()
/*********************************************************************************
These are the variables you have to set:
*********************************************************************************/

//The speed of the timeout between each scroll.
timSpeed = 50

//The height of the container (change this when it scrolls to much or to little)
contHeight = 226

/*********************************************************************************
This is the object constructor function, which applies 
methods and properties to the Cross-browser layer object
*********************************************************************************/
function makeScrollObj(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.height=bw.ns4?this.css.document.height:this.el.offsetHeight
	this.top=b_gettop										
	return this
}

// A unit of measure that will be added when setting the position of a layer.
var px = bw.ns4||window.opera?"":"px";

//Getting the top for the top method
function b_gettop(){
	var gleft=(bw.ns4 || bw.ns6)?parseInt(this.css.top):eval(this.css.pixelTop);
	return gleft;
}
//Variables
var scrollTim = 1;
var active = 0;
/*********************************************************************************
The scroll function. Checks what way to scroll and checks if the
layer is not already on top or bottom.
*********************************************************************************/
function scroll(speed){
	clearTimeout(scrollTim)
	way = speed>0?1:0
	if ((!way && oScroll[active].top()>-oScroll[active].height+contHeight) || (oScroll[active].top()<0 && way)){
		oScroll[active].css.top = (oScroll[active].top()+speed)+px
		scrollTim = setTimeout("scroll("+speed+")",timSpeed)
	}
}
//Clears the timeout so the scroll stops, this is called onmouseout.
function noScroll(){
	clearTimeout(scrollTim)
}
/*********************************************************************************
Changes the active layer. Hides the one that's visible and
shows the "new" one. Also set's the new layers top to
0 so it starts at top.
*********************************************************************************/
function changeActive(num){
	oScroll[active].css.visibility = "hidden"
	active = num
	oScroll[active].css.top = 0+px
	oScroll[active].css.visibility = "visible"
}
/*********************************************************************************
Initilizes the page, makes a oScroll Array and calls the object constructor.
Here you can add as many scrollObjects as you want
*********************************************************************************/
function scrollInit(){
	oScroll = new Array()
	
	// You can add and remove scrollObjects here.
	oScroll[0] = new makeScrollObj('divScroll','divCont')
	//oScroll[1] = new makeScrollObj('divScroll2','divCont')
	//oScroll[2] = new makeScrollObj('divScroll3','divCont')
	//oScroll[3] = new makeScrollObj('divScroll4','divCont')
	
	oScroll[0].css.left = 0+px
	oScroll[0].css.top = 0+px
	oScroll[0].css.visibility = "visible"
	oControl = new makeScrollObj('divControl')
	oControl.css.visibility = "visible"
	
	//getPosition()
}

function getPosition() {					
		var objImg;
		objImg = document.images['positioner']
		
        dxControl = 650;
        dyControl = 150;
        dxCont = 347;
        dyCont = 136;
        dxBack = 85;
        dyBack = 455;


		if (document.layers){
			xpositi = eval(objImg).x;
			ypositi = eval(objImg).y;
			document.layers.divControl.x=(xpositi)+dxControl;
			document.layers.divControl.y=(ypositi)+dyControl;
			document.layers.divCont.x=(xpositi+dxCont);
			document.layers.divCont.y=(ypositi+dyCont);
			document.layers.divBack.x=(xpositi+dxBack);
			document.layers.divBack.y=(ypositi+dyBack);
		} else if(document.all){
    		xPos = eval(objImg).offsetLeft;
    		yPos = eval(objImg).offsetTop;
    		tempEl = eval(objImg).offsetParent;
    		
    	  	while (tempEl != null) {
    	  		xPos += tempEl.offsetLeft;
    	  		yPos += tempEl.offsetTop;
    	  		tempEl = tempEl.offsetParent;
    	  	}
    	  	
    		document.all.divControl.style.pixelLeft=(xPos+dxControl);
    		document.all.divControl.style.pixelTop=(yPos+dyControl);
    		document.all.divCont.style.pixelLeft=(xPos+dxCont);
    		document.all.divCont.style.pixelTop=(yPos+dyCont);
    		document.all.divBack.style.pixelLeft=(xPos+dxBack);
    		document.all.divBack.style.pixelTop=(yPos+dyBack);
    	} else if(document.getElementById){
		    xPos = eval(objImg).x;
		    yPos = eval(objImg).y;
		    document.getElementById("divControl").style.left=(xPos+dxControl);
		    document.getElementById("divControl").style.top=(yPos+dyControl);
		    document.getElementById("divCont").style.left=(xPos+dxCont);
		    document.getElementById("divCont").style.top=(yPos+dyCont);
		    document.getElementById("divBack").style.left=(xPos+dxBack);
		    document.getElementById("divBack").style.top=(yPos+dyBack);
		}
	}
