// 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 clickDrag = false; // If click on scrollbar

var dragH = 13; // Height of scrollbar
var dragW = 16; // Width of scrollbar
var dragL; // Scrollbar X
var dragT; // Scrollbar Y
var startY; // Keeps track of offset between mouse and span

	document.onmousedown = down;
	document.onmousemove = move;
	document.onmouseup = up;


function down(e){

	if((document.layers && e.which!=1) || (document.all && event.button!=1)) return true; // Enables the right mousebutton
	getMouse(e);
	startY = (mouseY - dragT);
	//  if click on scrollbar
	if(mouseX >= dragL && (mouseX <= (dragL + dragW)) && mouseY >= dragT && (mouseY <= (dragT + dragH))){
		clickDrag = true;
		return false;
	}
	// If no scrolling is to take place
	else{
		return true;
	}
}

// Reads mouse X and Y coordinates
function getMouse(e){
	if(ie4){
		mouseY = event.clientY + document.body.scrollTop;
		mouseX = event.clientX + document.body.scrollLeft;
	}
	else if(nn4 || dom){
		mouseY = e.pageY;
		mouseX = e.pageX;
	}
}

function up(e){
	clickDrag = false;
	return true;
}


// Temporary variables to hold mouse y pos.s
var tempY = 0

// Drag function
function move(e){
	if(clickDrag){

		getMouse(e);
		
		moveTo();
		
		// So ie-pc doesn't select gifs
		if(ie4)
			return false;
	}
}



function moveTo(){



  if (document.all) { // grab the y pos.s if browser is IE
    tempY = mouseY + document.body.scrollTop - document.all.movecontainer.style.pixelTop - (document.all.moveme.style.pixelHeight/2);
	  } else {  // grab the y pos.s if browser is NS
    tempY = mouseY - document.movecontainer.top -  document.movecontainer.document.moveme.clip.height/2;
  } 

 
  // catch possible negative values in NS4
  if (tempY < 0){tempY = 0}  
  
 
	if (document.all){
	check = document.all.outline.style.pixelHeight - document.all.moveme.style.pixelHeight/2;
	if (tempY < check-1 &&  tempY >= 0 && openedText != "")
	{
	document.all.moveme.style.pixelTop = tempY+1;
	eval("document.all."+openedText+".style.pixelTop = -((tempY)* ((document.all."+openedText+".style.pixelHeight-document.all.container.style.pixelHeight)/(document.all.outline.style.pixelHeight - document.all.moveme.style.pixelHeight)) )");
	}
	if (tempY < check &&  tempY >= 0 && openedText != "")
	{
	eval("document.all."+openedText+".style.pixelTop = -((tempY)* ((document.all."+openedText+".style.pixelHeight-document.all.container.style.pixelHeight)/(document.all.outline.style.pixelHeight - document.all.moveme.style.pixelHeight)) )");
	}
	}
	else if(document.layers) {
	check = document.movecontainer.document.outline.clip.height - document.movecontainer.document.moveme.clip.height;
	if (tempY < check-2 &&  tempY >= 0 && openedText != "")
	{
	document.movecontainer.document.moveme.top = tempY+1;
	}

	if (tempY < check &&  tempY >= 0 && openedText != "")
	{
	eval("document.container.document."+openedText+".top = -((tempY)* ((document.container.document."+openedText+".clip.height-document.container.clip.height)/(document.movecontainer.document.outline.clip.height - document.movecontainer.document.moveme.clip.height)) )");
	}
	}
	if(ie4){
		// Scrollbar X and Y variables
		dragT = document.all.movecontainer.style.pixelTop + document.all.moveme.style.pixelTop;
	}
	else if(nn4){
		dragT = document.movecontainer.top + document.movecontainer.document.moveme.top;
	}
	else if(dom){
		// Scrollbar X and Y variables
		dragT = parseInt(document.getElementById("movecontainer").style.top)+parseInt(document.getElementById("moveme").style.top);
	}
	
	}
	
	
	// reloads page to position the layers again
function reloadPage(){
	location.reload();
}

// Preload
function eventLoader(){
	if(ie4){
		// Scrollbar X and Y variables
		dragL = document.all.movecontainer.style.pixelLeft;
		dragT = document.all.movecontainer.style.pixelTop;
	}
	else if(nn4){
		dragL = document.movecontainer.left;
		dragT = document.movecontainer.top;
	}
	else if(dom){
		// Scrollbar X and Y variables
		dragL = parseInt(document.getElementById("movecontainer").style.left);
		dragT = parseInt(document.getElementById("movecontainer").style.top);
	}
	// 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;
}

