// And now... go to the bottom of the page...

var pai;
var cont;
var speed = 12;
// Browser detection
var dom = document.getElementById ? true:false;
var nn4 = document.layers ? true:false;
var ie4 = document.all ? true:false;

var mouseY; // Mouse Y position onclick
var mouseX; // Mouse X position onclick

var clickUp = false; // If click on up-arrow
var clickDown = false; // If click on down-arrow
var clickDrag = false; // If click on scrollbar
var clickAbove = false; // If click above scrollbar
var clickBelow = false; // If click below scrollbar

var timer = setTimeout("",500); // Repeat variable
var upL; // Up-arrow X
var upT; // Up-arrow Y
var downL; // Down-arrow X
var downT; // Down-arrow Y
var dragL; // Scrollbar X
var dragT; // Scrollbar Y
var rulerL; // Ruler X
var rulerT; // Ruler Y
var contentT; // Content layer Y;
var contentH; // Content height
var contentClipH; // Content clip height
var scrollLength; // Number of pixels scrollbar should move
var startY; // Keeps track of offset between mouse and span

function up(){
	clearTimeout(timer);
	// Resetting variables
	clickUp = false;
	clickDown = false;
	clickDrag = false;
	clickAbove = false;
	clickBelow = false;
	return true;
}

// Reads content layer top
function getT(){
	if(ie4){
		contentT = cont.style.pixelTop;
		contentH = parseInt(cont.scrollHeight);
		contentClipH = parseInt(pai.style.height);
	}else if(nn4){
		contentT = pai.document.content.top;
		contentH = pai.document.content.clip.bottom;
		contentClipH = pai.clip.bottom;
		
	}else if(dom){
		contentT = parseInt(cont.style.top);
		contentH = parseInt(cont.offsetHeight);
		//contentH = parseInt(cont.offsetHeight);
		contentClipH = parseInt(pai.offsetHeight);
		//alert(contentT + " | " + cont.offsetHeight + " | " + contentClipH);	
		//cont.style.top = 0 + "px";
	}
}

// Moves the layer
function moveTo(){
	//if(ie4){
		//alert(cont.style.top);
		cont.style.top = contentT;
		//window.status = contentT;

		//document.all.ruler.style.top = dragT;
		//document.all.drag.style.top = dragT;
	/*}
	else if(nn4){
		cont.top = contentT;
		//document.ruler.top = dragT;
		//document.drag.top = dragT;
	}
	else if(dom){
		cont.style.top = contentT + "px";
		//document.getElementById("drag").style.top = dragT + "px";
		//document.getElementById("ruler").style.top = dragT + "px";
	}*/
}



// Scrolls up
function scrollUp(obj1,obj2){
	pai = document.getElementById(obj2);
	cont = document.getElementById(obj1);
	
	getT();
	//alert(contentT);
	
	
	if(clickUp){
		if(contentT < 0){		
			/*dragT = dragT - (speed*scrollLength);
			
			if(dragT < (rulerT))
				dragT = rulerT;
				*/
			contentT = contentT + speed;
			if(contentT > 0)
				contentT = 0;
			
			moveTo();
			//alert("scrollUp('"+obj1+"','"+obj2+"')");
			timer = setTimeout("scrollUp('"+obj1+"','"+obj2+"')",25);
		}
	}
	return false;
}

// Scrolls down
function scrollDown(obj1,obj2){
	pai = document.getElementById(obj2);
	cont = document.getElementById(obj1);
	
	getT();
	//alert(pai.style.height);
	//alert(ie4 + " | " + nn4 + " | " + dom);	
	//alert(contentT + " | " + contentH + " | " + contentClipH);	
	if(clickDown){
		if(contentT > -(contentH - contentClipH)){			
			/*dragT = dragT + (speed*scrollLength);
			if(dragT > (rulerT + scrollH - dragH))
				dragT = (rulerT + scrollH - dragH);
			*/
			contentT = contentT - speed;
			if(contentT < -(contentH - contentClipH))
				contentT = -(contentH - contentClipH);
			//alert(contentT);
			moveTo();
			timer = setTimeout("scrollDown('"+obj1+"','"+obj2+"')",25);
		}
	}
	return false;
}

// reloads page to position the layers again
function reloadPage(){
	location.reload();
}

// Preload
function eventLoader(){
	if(ie4){
		contentH = parseInt(document.all.content.scrollHeight);
		contentClipH = parseInt(document.all.contentClip.style.height);
	}
	else if(nn4){
		contentH = document.contentClip.document.content.clip.bottom;
		contentClipH = document.contentClip.clip.bottom;
	}
	else if(dom){
		contentH = parseInt(document.getElementById("content").offsetHeight);
		contentClipH = parseInt(document.getElementById("contentClip").offsetHeight);
		document.getElementById("content").style.top = 0 + "px";
		
	}
	// Number of pixels scrollbar should move
	//scrollLength = ((scrollH-dragH)/(contentH-contentClipH));
	// Initializes event capturing
	/*if(nn4){
		document.captureEvents(Event.MOUSEDOWN | Event.MOUSEMOVE | Event.MOUSEUP);
		window.onresize = reloadPage;
	}*/
	//document.onmousedown = down;
	//document.onmousemove = move;
	//document.onmouseup = up;
}