if (navigator.appName == "Netscape") {
	if (navigator.appVersion.charAt(0) == "4") {
		var IE = false;
	} else {
		var IE = true;
		document.addEventListener("mousemove",updateit, false);
	}
} else {
	var IE = true;
	var _debug;
}
var PrevObj = null;
var PrevParent = null;
var Y1 = 0;
var Y2 = 0;
var Y3 = 0;
var Y4 = 0; 
var X1 = 0; 
var X2 = 0;
var X3 = 0
var X4 = 0;
var DefaultHeight = 20;
var DefaultRight = 152;
function showit(Parent, strObj, Direction) {
	if (IE) {
		var Obj = document.getElementById(strObj);
	} else {
		var Obj = eval("document.layers." + strObj);
	}
	if (Obj == null) {
		return;
	}
	if (PrevObj != null) {
		hideit();
	}
	if (IE) {
		var x = CalLeft(Parent);
		var y = CalTop(Parent);
		switch (Direction) {
			case "RIGHT":
				Obj.style.top = y;
				Obj.style.left = x + 125;
				Obj.style.visibility = "visible";
				Y1 = y;
				Y2 = y + Parent.offsetHeight;
				X1 = x;
				X2 = x + DefaultRight;
				Y3 = y;
				Y4 = y + Obj.offsetHeight;
				X3 = x + DefaultRight;
				X4 = x + DefaultRight + Obj.offsetWidth;
				break;
			case "DOWN":
				Obj.style.top = y + DefaultHeight;
				Obj.style.left = x;
				Obj.style.visibility = "visible";
				Y1 = y;
				Y2 = y + DefaultHeight;
				X1 = x;
				X2 = x + Obj.offsetWidth;
				Y3 = y;
				Y4 = y + DefaultHeight + Obj.offsetHeight;
				X3 = x;
				X4 = x + Obj.offsetWidth;
				break;
			case "UPLEFT":
				Obj.style.top = y + DefaultHeight - Obj.offsetHeight;
				Obj.style.left = x - Obj.offsetWidth;
				Obj.style.visibility = "visible";
				Y1 = Obj.style.pixelTop;
				Y2 = Obj.style.pixelTop + Obj.offsetHeight;
				X1 = Obj.style.pixelLeft;
				X2 = Obj.style.pixelLeft + Obj.offsetWidth;
				Y3 = y;
				Y4 = y + DefaultHeight;
				X3 = x;
				X4 = x + DefaultRight;
				break;
			case "DOWNLEFT":
				Obj.style.top = y + DefaultHeight;
				Obj.style.left = x - 40;
				Obj.style.visibility = "visible";
				Y1 = Obj.style.pixelTop;
				Y2 = Obj.style.pixelTop + Obj.offsetHeight;
				X1 = Obj.style.pixelLeft;
				X2 = Obj.style.pixelLeft + Obj.offsetWidth;
				Y3 = y;
				Y4 = y + DefaultHeight + Obj.offsetHeight;
				X3 = x;
				X4 = x + DefaultRight;
				break;
		}
	} else {
		switch (Direction) {
			case "RIGHT":
				Obj.left = DefaultRight;
				Obj.top = Parent.y;
				Obj.visibility = "show";
				Y1 = Parent.y;
				Y2 = Parent.y + DefaultHeight;
				X1 = Parent.x;
				X2 = Parent.x + DefaultRight;
				Y3 = Parent.y;
				Y4 = Parent.y + Obj.clip.height;
				X3 = Parent.x + DefaultRight;
				X4 = Parent.x + DefaultRight + Obj.clip.width;
				break;
			case "DOWN":
				Obj.left = Parent.x;
				Obj.top = Parent.y + DefaultHeight;
				Obj.visibility = "show";
				Y1 = Parent.y;
				Y2 = Parent.y + DefaultHeight;
				X1 = Parent.x;
				X2 = Parent.x + Obj.clip.width;
				Y3 = Parent.y + DefaultHeight;
				Y4 = Parent.y + DefaultHeight + Obj.clip.height;
				X3 = Parent.x;
				X4 = Parent.x + Obj.clip.width;
				break;
			case "UPLEFT":
				Obj.left = Parent.x - 40;
				Obj.top = Parent.y + DefaultHeight;
				Obj.visibility = "show";
				Y1 = Parent.y;
				Y2 = Parent.y + Obj.clip.height;
				X1 = Parent.x - Obj.clip.width;
				X2 = Parent.x;
				Y3 = Parent.y;
				Y4 = Parent.y + DefaultHeight;
				X3 = Parent.x;
				X4 = Parent.x + 20;
				break;			
			case "DOWNLEFT":
				Obj.left = Parent.x - 40;
				Obj.top = Parent.y + DefaultHeight;
				Obj.visibility = "show";
				Y1 = Parent.y;
				Y2 = Parent.y + Obj.clip.height;
				X1 = Parent.x - Obj.clip.width;
				X2 = Parent.x;
				Y3 = Parent.y;
				Y4 = Parent.y + DefaultHeight + Obj.clip.height;
				X3 = Parent.x;
				X4 = Parent.x + Obj.clip.width;
				break;
		}
		//alert(XLeft + " " + XMiddle + " " + XRight + " " + YTop + " " + YBottom1 + " " + YBottom2)
	}
	PrevObj = Obj;
}

function CalTop(Obj) {
	var Top = Obj.offsetTop;
	for (TempObj = Obj; TempObj = TempObj.offsetParent; TempObj != null) {
		Top += TempObj.offsetTop;
	}
	return Top;
}

function CalLeft(Obj) {
	var Left = Obj.offsetLeft;
	for (TempObj = Obj; TempObj = TempObj.offsetParent; TempObj != null) {
		Left += TempObj.offsetLeft;
	}
	return Left;
}

function updateit(evt) {
	if (IE) {
		if (navigator.appName == "Netscape") {
			var x = evt.clientX
			var y = evt.clientY
		} else {
			var x = window.event.clientX  + document.body.scrollLeft;
			var y = window.event.clientY  + document.body.scrollTop;		
		}
	} else {
		var x = evt.pageX;
		var y = evt.pageY;
	}
	if (PrevObj != null) {
		var _pad = 2;
			
		Y1 -= _pad;
		Y2 += _pad;
		Y3 -= _pad;
		Y4 += _pad;
		
		if ((x >= X1) && (x <= X2) && (y >= Y1) && (y <= Y2)) {
		} else {
			if	((x >= X3) && (x <= X4) && (y >= Y3) && (y <= Y4)) {
			} else {
				//alert (x + " " + y)
				//alert(X1 + " " + X2 + " " + X3 + " " + X4 + " " + Y1 + " " + Y2 + " " + Y3 + " " + Y4)
				hideit();
			}
		}
	}
}

function hideit() {
	if (IE) {
		PrevObj.style.visibility = "hidden";
	} else {
		PrevObj.visibility = "hidden";
	}
	PrevObj = null;
}

function onLeave(){
	alert( this );
}