
/* HOVERHELP */

	function HelpHover(){ 
		this._mousePosX = 0; 
		this._mousePosY = 0; 
		this._hoverItem = null; 
		this._hoverContents = null;
	}
	HelpHover.prototype.init = function(){ 
		var hh = this; 
		var helpItems = document.getElementsByClassName('hasHelp'); 
		for (var i=0; i < helpItems.length; i++){ 
			helpItems[i].onmousemove = function(e){ 
				if (!e) var e = window.event; 
				if (e.pageX || e.pageY){ 
					hh.mousePosX = e.pageX; 
					hh.mousePosY = e.pageY; 
				}else if (e.clientX || e.clientY){ 
					hh.mousePosX = e.clientX + document.documentElement.scrollLeft;
					hh.mousePosY = e.clientY + document.documentElement.scrollTop; 
				}; 
				hh._hoverItem = this; 
				hh._hoverContents = document.getElementById(this.id+'Help'); 
				hh.move();
			}; 
			helpItems[i].onmouseout = function (e){ hh.out(); } 
		} 
	}
	HelpHover.prototype.out = function(){ 
		this._hoverContents.style.top = -10000+'px'; 
		this._hoverContents.style.left = -10000+'px';
		this._hoverItem = null; 
		this._hoverContents = null;
		if (document.getElementById("HHiFrameShim")) {
			document.getElementById('HHiFrameShim').style.top = -10000+'px';
			document.getElementById('HHiFrameShim').style.left = -10000+'px';
		}
	}
	HelpHover.prototype.move = function(){ 
		this._hoverContents.style.top = this.mousePosY+10+'px'; 
		this._hoverContents.style.left = this.mousePosX+10+'px';
		if (navigator.userAgent.indexOf('MSIE') != -1){
			if (!document.getElementById("HHiFrameShim")) {
				try {
					var newNode = document.createElement("iFrame");
					newNode.setAttribute("id", "HHiFrameShim");
					newNode.setAttribute("src", "javascript:false;");
					newNode.setAttribute("scrolling", "no");
					newNode.setAttribute ("frameborder", "0");
					document.body.appendChild(newNode);
				} catch(e) {  }
			}
			try { 		
				HHShim = document.getElementById('HHiFrameShim');
				HHShim.style.position = "absolute";
				HHShim.style.width = this._hoverContents.offsetWidth;
				HHShim.style.height = this._hoverContents.offsetHeight;
				HHShim.style.top = this.mousePosY+10+'px'; 
				HHShim.style.left = this.mousePosX+10+'px';
				HHShim.style.zIndex = 100 - 1;
				HHShim.style.visibility = true;
				HHShim.style.display = 'none';
			} catch(e) {  }
		}
	}
	addEvent(window, 'load', function(){ var hh = new HelpHover(); hh.init(); });
	document.getElementsByClassName = function (needle){ 
		var my_array = document.getElementsByTagName("*"); 
		var retvalue = new Array(); 
		var i; 
		var j; 
		for (i = 0, j = 0; i < my_array.length; i++){ 
			var c = " " + my_array[i].className + " "; 
			if (c.indexOf(" " + needle + " ") != -1){ 
				retvalue[j++] = my_array[i];
			}
		} 
		return retvalue;
	}
	function addEvent(obj, evType, fn){ 
		if (obj.addEventListener){ 
			obj.addEventListener(evType, fn, true); 
			return true; 
		}else if (obj.attachEvent){ 
			var r = obj.attachEvent("on"+evType, fn); 
			return r; 
		}else{ 
			return false; 
		}
	}

