mouseX = 0;
mouseY = 0;
helpTag = '';
helpData = new Object();
helpInt = 0;

if(document.layers) {
	window.captureEvents(Event.MOUSEMOVE);
	window.onmousemove = getMouseCoords;
} else {
	document.onmousemove = getMouseCoords;
}

function getMouseCoords(e) {
	mouseX = (document.layers || (document.getElementById && !document.all)) ? e.pageX : document.body.scrollLeft + event.clientX;
	mouseY = (document.layers || (document.getElementById && !document.all)) ? e.pageY : document.body.scrollTop + event.clientY;
}

function openHelp(tag) {
	o = document.getElementById('help');
	o.style.left = mouseX + 5;
	o.style.top = mouseY + 5;
	
	if(tag != helpTag) {
		//document.getElementById('help_title').innerHTML = '&nbsp;';
		document.getElementById('help_title').style.display = 'none';
		document.getElementById('help_body').innerHTML = '...';
	}
	
	o.style.visibility = 'visible';
	
	if(tag != helpTag) {
		if(helpData[tag] == undefined) {
			runGetHelp(tag);
		} else {
			doGetHelp(tag);
		}
		helpTag = tag;
	}
	
	helpInt = setInterval('posHelp()', 10);
	
	
	/*w = 300; h = 200;
	t = (screen.availHeight / 2) - (h / 2);
	l = (screen.availWidth / 2) - (w / 2);
	win = window.open("/pon/help.php?tag=" + tag,"pon_help","width="+w+",height="+h+",left="+l+",top="+t+",resizable=yes,scrollbars=yes");
	win.focus();*/
	return false;
}

function closeHelp() {
	document.getElementById('help').style.visibility = 'hidden';
	clearInterval(helpInt);
}

function posHelp() {
	o = document.getElementById('help');
	o.style.left = mouseX + 5;
	o.style.top = mouseY + 5;
}

function getXMLHTTP() {
	var result = false;
	
	if(typeof XMLHttpRequest != "undefined") {
		result = new XMLHttpRequest();
	} else {
		try {
			result = new ActiveXObject("Msxml2.XMLHTTP");
		} catch (e) {
			try {
			    result = new ActiveXObject("Microsoft.XMLHTTP");
			} catch (ie) {}
		}
	}
	
	return result;
}

xmlhttp = getXMLHTTP();

function xmlHttpOnReadyStateChange() {
	if (xmlhttp.readyState == 4 && xmlhttp.responseText) {
		try {
			eval(xmlhttp.responseText);
		} catch (e) {
		}
		xmlhttp.abort();
	}
}

function runGetHelp(tag) {
	if(!xmlhttp) return;
	
	if(xmlhttp.readyState != 0) {
		xmlhttp.abort();
	}
	
	xmlhttp.open("GET", '/help?tag='+tag, true);
	xmlhttp.onreadystatechange = xmlHttpOnReadyStateChange;
	xmlhttp.send(null);
}

function doGetHelp(tag) {
	document.getElementById('help_title').innerHTML = helpData[tag][0];
	document.getElementById('help_title').style.display = helpData[tag][0].length > 0 ? 'block' : 'none';
	document.getElementById('help').style.width = helpData[tag][0].length > 0 ? '20em' : 'auto';
	document.getElementById('help_body').innerHTML = helpData[tag][1];
}

if(typeof(onLoadFunctions) == 'undefined') {
	onLoadFunctions = new Array();
}

function runOnLoadFunctions() {
	if(typeof(onLoadFunctions) == 'undefined') {
		return;
	}
	
	for(i = 0; i < onLoadFunctions.length; i++) {
		eval(onLoadFunctions[i] + ';');
	}
}
