	var tip;
	var http = navigator.appName == "Microsoft Internet Explorer"
		? new ActiveXObject("Microsoft.XMLHTTP")
		: this.http = new XMLHttpRequest();


	function tpLoad(e) {

		el = (e) ? e.target : window.event.srcElement
		tip = tpGetIdFor(el);

		http.open ('get', 'help/' + tip.id + '.htm');
		http.onreadystatechange = tpShow;
		http.send (null);
	}
	function tpShow() {
		tip.style.display = 'block';
		if(http.readyState == 4) {
			tip.innerHTML =  http.responseText
			// tip.onmouseover = tpShow;
		}
	}
	function tpHide () {
		tip.style.display = 'none';
	}
	function tpAttachTo (el) {
		for (var i = 0; el.childNodes[i]; i++) {
			var child = el.childNodes[i];
			if (child.className == 'tooltip' && child.tagName == 'A') {
				child.onmouseover = tpLoad;
				child.onmouseout = tpHide;
			}
			tpAttachTo(child)
		}
	}
	function tpGetIdFor (el) {
		for (var j = 0; el.parentNode.childNodes[j]; j++) {
			var sibl = el.parentNode.childNodes[j];
			if (sibl.className == 'tooltip' && sibl.tagName != 'A') {
				return sibl;
			}
		}
	}
	tpInit = function() {
		tpAttachTo(document)
	}

	//window.onload = tpInit;
	addEvent(window, 'load', tpInit, false);
	
      function addEvent(elm, evType, fn, useCapture)
      // cross-browser event handling for IE5+, NS6+ and Mozilla/Gecko
      // By Scott Andrew
      {
	if (elm.addEventListener) {
	  elm.addEventListener(evType, fn, useCapture); 
	  return true; 
	} else if (elm.attachEvent) {
	  var r = elm.attachEvent('on' + evType, fn); 
	  return r; 
	} else {
	  elm['on' + evType] = fn;
	}
      }	