/*******************************************************************************

FILE: mud_Scripts.js
REQUIRES: prototype.js
AUTHOR: Takashi Okamoto mud(tm) - http://www.mudcorp.com/
VERSION: 2.0
DATE: 01/21/2006

--------------------------------------------------------------------------------

This file is part of MudScroll.

	MudScroll is free for anyone to use, but this header MUST be
	included, and may not be modified.

*******************************************************************************/

////////////////////////////////////////////////////////////////////////////////
// GLOBAL VARS

var scroll;

////////////////////////////////////////////////////////////////////////////////
// FUNCTIONS

function scrollTo(x, y) {
	if (scroll) {
		scroll.scrollTo(x, y);
	}
}

function scrollBy(x, y) {
	if (scroll) {
		scroll.scrollBy(x, y);
	}
}

////////////////////////////////////////////////////////////////////////////////
// MOUSE EVENTS

function onMouseDown(evt) {
	evt = (evt) ? evt : event;
	var target = (evt.target) ? evt.target : evt.srcElement;
    var divID = (target.id) ? target.id : target.name;
    if ((divID == "scroll") ||(divID == "scroll-wrapper")) {
		scroll.engage(evt);
	}
	return false;
}

function onMouseMove(evt) {
	evt = (evt) ? evt : event;
	var target = (evt.target) ? evt.target : evt.srcElement;
    var divID = (target.id) ? target.id : target.name;
    if (selectedObj) {
		scroll.drag(evt);
	}
	return false;
}

function onMouseUp(evt) {
	if (selectedObj) scroll.release(evt);
}

////////////////////////////////////////////////////////////////////////////////
// INIT

function setOnMouseClick() {
	var anchors = document.getElementsByTagName('a');
	for (var i = 0; i < anchors.length; i++) {
		switch (anchors[i].className) {
			case "up":
				anchors[i].onclick = function() {
					scrollBy(0, -40);
					return false;
				};
				break;
			case "down":
				anchors[i].onclick = function() {
					scrollBy(0, 40);
					return false;
				};
				break;
		}
	}
}

function init() {
	var topOffset = ($('contentblock').offsetTop) ? $('contentblock').offsetTop : 0;
	if (/MSIE/.test(navigator.userAgent)) {
		topOffset += $('scroll-wrapper').offsetTop;
	}
	// MudScroll(id, content_id, contentHeight, scrollBarHeight, scrollHeight, scrollTop)
	scroll = new MudScroll('scroll', 'content', Element.getHeight('content'), Element.getHeight('scroll-wrapper'), Element.getHeight('scroll'), topOffset);
	setOnMouseClick();
}

////////////////////////////////////////////////////////////////////////////////
// EVENTS

Event.observe(window, 'load', init, false);
Event.observe(window, 'mousedown', onMouseDown, false);
Event.observe(window, 'mousemove', onMouseMove, false);
Event.observe(window, 'mouseup', onMouseUp, false);