//We wrap all the code in an object so that it doesn't interfere with any other code
var scroller = {
  init:   function(tuut) {
	//reset to top
	if (tuut!=0){
	getElemRefs("pagemiddle").scrollTop = 0;
	getElemRefs("scrollArea").scrollTop = 0;
	getElemRefs("scroller").css.top = 0;
	getElemRefs("content").css.top = 0;
	}

	//collect the variables
    scroller.docH = getElemRefs("content").offsetHeight;
    scroller.contH = getElemRefs("pagemiddle").offsetHeight;
    scroller.scrollAreaH = getElemRefs("scrollArea").offsetHeight;
      
    //calculate height of scroller and resize the scroller div
    //(however, we make sure that it isn't to small for long pages)
	if (scroller.docH <= "295") {hideL("scroller");	return;	}
	showL("scroller");
    scroller.scrollH = (scroller.contH * scroller.scrollAreaH) / scroller.docH;
    //if(scroller.scrollH < 15) scroller.scrollH = 15;
    getElemRefs("scroller").css.height = Math.round(scroller.scrollH) + "px";
    getElemRefs("scroller").css.cursor = "pointer";
    //what is the effective scroll distance once the scoller's height has been taken into account
    scroller.scrollDist = Math.round(scroller.scrollAreaH-scroller.scrollH);
    
    //make the scroller div draggable
    Drag.init(getElemRefs("scroller"),null,0,0,-1,scroller.scrollDist);
    
    //add ondrag function
    getElemRefs("scroller").onDrag = function (x,y) {
      var scrollY = parseInt(getElemRefs("scroller").style.top);
      var docY = 0 - (scrollY * (scroller.docH - scroller.contH) / scroller.scrollDist);
      getElemRefs("content").style.top = docY + "px";
    }
  },
  scrWheel: function (e){
	  if (getElemRefs("scroller").css.display == "block"){
	  	//collect the variables
	    scroller.docH = getElemRefs("content").offsetHeight;
	    scroller.contH = getElemRefs("pagemiddle").offsetHeight;
	    scroller.scrollAreaH = getElemRefs("scrollArea").offsetHeight;
	    scroller.scrollH = (scroller.contH * scroller.scrollAreaH) / scroller.docH;
    	scroller.scrollDist = Math.round(scroller.scrollAreaH-scroller.scrollH);
		// get top & bottom of scroller
		var scrTop = parseInt(getElemRefs("scroller").css.top);
		var scrBot = parseInt(getElemRefs("scroller").css.top)+ parseInt(scroller.scrollH);
	  	var scrollWh = parseInt(e.wheelDelta)/20;

		if (scrTop>=0 && scrBot <= (parseInt(scroller.scrollAreaH))) {
				var scrollY = scrTop;
				scrollY -= scrollWh; getElemRefs("scroller").css.top = scrollY +"px";
			    var docY = 0 - (scrollY * (scroller.docH - scroller.contH) / scroller.scrollDist);
      			getElemRefs("content").css.top = docY + "px";
	  	}
		//reset if out of bounds
		if (parseInt(getElemRefs("scroller").css.top) < 0) {
			getElemRefs("pagemiddle").scrollTop = 0;
			getElemRefs("scrollArea").scrollTop = 0;
			getElemRefs("scroller").css.top = 0;
			getElemRefs("content").css.top = 0;
		}
		if ((parseInt(getElemRefs("scroller").style.top)+ parseInt(scroller.scrollH)) > (parseInt(scroller.scrollAreaH))) {
			var scrollY = parseInt(scroller.scrollDist)
			var docY = 0 - (scrollY * (scroller.docH - scroller.contH) / scroller.scrollDist);
			getElemRefs("scroller").css.top = scrollY + "px";
   			getElemRefs("content").css.top = docY + "px";
		} //end reset function
	  }
	  return;
  }
}

onload = scroller.init;

function scrollContent(){scroller.scrWheel(event);return;}
