var mouseX = 0;
var mouseY = 0;
var currentToolTip;


function enterMenu(which) {
	var parent = which.parentNode;
	var children = parent.childNodes;
	var left, center, right;
	var c = 0;
	for (var i = 0; i < children.length; i++) {
		if (children[i].nodeType == 1) {
			if (c == 0) {
				left = children[i];
				c++;
			} else if (c == 1) {
				center = children[i];
				c++;
			} else if (c == 2) {
				right = children[i];
				c++;
			}
		}
	}
	left.style.backgroundImage="url(button/button_left_hlt.gif)";
	center.style.backgroundImage="url(button/button_center_hlt.gif)";
	right.style.backgroundImage="url(button/button_right_hlt.gif)";
	var menuDiv = which.getElementsByTagName("div")[1];
	
	if (!menuDiv) return; // menuBarItem has no menu.
	menuDiv.style.display = "block";
}

function leaveMenu(which) {
	var parent = which.parentNode;
	var children = parent.childNodes;
	var left, center, right;
	var c = 0;
	for (var i = 0; i < children.length; i++) {
		if (children[i].nodeType == 1) {
			if (c == 0) {
				left = children[i];
				c++;
			} else if (c == 1) {
				center = children[i];
				c++;
			} else if (c == 2) {
				right = children[i];
				c++;
			}
		}
	}
	left.style.backgroundImage="url(button/button_left.gif)";
	center.style.backgroundImage="url(button/button_center.gif)";
	right.style.backgroundImage="url(button/button_right.gif)";
	var menuDiv = which.getElementsByTagName("div")[1];
	
	if (!menuDiv) return; // menuBarItem has no menu.
	
	menuDiv.style.display = "none";
}

function hoverMenuItem(which, tooltiptext) {
	which.style.backgroundColor = "#ffc0c0";
	
	if (!tooltiptext) return;
	currentToolTip = document.getElementById("tooltip");
	window.setTimeout("showToolTip(\"" + tooltiptext + "\")", 500);
	
}

function unhoverMenuItem(which) {
	which.style.backgroundColor = "#c0c0c0";
	hideToolTip(which);

}
	
function showToolTip(tttext) {
	if (!currentToolTip) return;
	var text = document.createTextNode(tttext);
	if (currentToolTip.hasChildNodes()) {
		currentToolTip.replaceChild(text, currentToolTip.firstChild);
	} else {
		currentToolTip.appendChild(text);
	}
	currentToolTip.style.display = "inline";
	updateMouse(null);
//	showMeWhatYouHave(currentToolTip);

//	document.setTimeout(
	
}

function hideToolTip(which) {
	document.getElementById("tooltip").style.display = "none";
//	showMeWhatYouHave(currentToolTip);
	currentToolTip = null;

}


function initMenus() {
	var menuBar = document.getElementById("menuBar");

	if (!menuBar) return;
	var divs = menuBar.getElementsByTagName("div");
	for (var i = 0; i < divs.length; i++) {
		if (divs[i].className == "menu") {
			divs[i].style.display = "none";
		}
	}
	
}


function updateMouse(ev) {
	if (currentToolTip) {
		currentToolTip.style.left = "" + (mouseX + 10) + "px";
		currentToolTip.style.top = "" + (mouseY + 5) + "px";
	}

	if (!ev && window.event) ev = window.event;
	if (!ev) return;
	if (ev.clientX) {
		mouseX = parseInt(ev.clientX);
		mouseY = parseInt(ev.clientY);
	} else if (ev.pageX) {
		mouseX = parseInt(ev.pageX);
		mouseY = parseInt(ev.pageY);
	} 
}

var propertyWindow;

function showMeWhatYouHave(obj) {
	if (!propertyWindow) {
		propertyWindow = window.open("", "PropertiesWindow");
	} else {
		propertyWindow.document.close();
	}
	propertyWindow.blur();
	propertyWindow.document.open();
	propertyWindow.document.writeln("<html><head><title>FooBar</title></head><body><table>\n");
	
	var toggle = false;
	
	
	for (property in obj) {
		propertyWindow.document.writeln("<tr><td style=\"border-bottom:1px solid black; background-color:" + (toggle ? "#ccffcc" : "#ccccff") + "\">" + property + "</td><td style=\"border-bottom:1px solid black; background-color:" + (toggle ? "#ccffcc" : "#ccccff") + "\"><pre>" + obj[property] + " </pre></td></tr>\n");
		toggle = !toggle;
	}
	propertyWindow.document.writeln("</table></body></html>");
	propertyWindow.document.close();
}

var debugWindow;
function debug(text) {
	if (!debugWindow) {
		debugWindow = window.open("", "DebugWindow");
		debugWindow.blur();
		debugWindow.document.open();
		debugWindow.document.writeln("<html><head><title>DebugWindow</title></head><body></body></html>");
		debugWindow.document.close();
	} else {
//		debugWindow.document.close();
	}
//	debugWindow.blur();
	var div = debugWindow.document.createElement("div");
	var attr = debugWindow.document.createAttribute("style");
	attr.nodeValue = "border:1px solid black";
	div.setAttributeNode(attr);
	var textNode = debugWindow.document.createTextNode(text);
	div.appendChild(textNode);
	debugWindow.document.getElementsByTagName("body")[0].appendChild(div);
}