var mouseX, mouseY;
var tpMOUSE = new tpMouse()

function tpMouse() {
	this.menuLevel = 0
	this.dragActive = false
	this.dragID = ""
}

function initMouseEvents() {
	document.onmousemove = tpMouseMove
	document.onmousedown = tpMouseDown
	document.onmouseup = tpMouseUp
	if (is.ns4)
		document.captureEvents(Event.MOUSEMOVE | Event.MOUSEDOWN | Event.MOUSEUP)
}
function tpMouseMove(e) {

	mouseX = (is.ns) ? e.pageX : event.x+document.body.scrollLeft
	mouseY = (is.ns) ? e.pageY : event.y+document.body.scrollTop
	if (tpMOUSE.dragActive) {
		var obj = Layers[tpMOUSE.dragID]
		if (obj.hMax != -1) {
			cX = mouseX-dragMouseX+dragHPos
			cY = mouseY-dragMouseY+dragVPos
			if (cX > obj.hMax)
				cX = obj.hMax
			else if (cX < 0)
				cX = 0
			if (cY > obj.vMax)
				cY = obj.vMax
			else if (cY < 0)
				cY = 0
			Layers[tpMOUSE.dragID].moveBy(cX-obj.hPos,cY-obj.vPos)
			obj.hPos = cX
			obj.vPos = cY
		}
		else
			Layers[tpMOUSE.dragID].moveTo(mouseX-dragX, mouseY-dragY)
		if (is.ns6)
			e.stopPropagation()
		else if (is.ie)
			event.cancelBubble = true
	} else if (is.ns4)
			routeEvent(e);
}
function tpMouseDown(e){	
	if (tpMOUSE.menuLevel > 0) {
		menuCollapseTimeout = setTimeout("collapseMenus(0)", 20);
	}
	if (is.ns4) {
		routeEvent(e);
	}
}
function tpMouseUp(e) {
	tpMOUSE.dragActive = false;
	if (is.ns4) {
		routeEvent(e);
	}
}
