//	function doNothing( ) {return true;}
	//window.onerror = doNothing;
	
	var helpTimeout = null;
	var help = new Array();
	var loadingHelp = false;
	document.write("<"+"div class=\"helpHolder\" id=\"helpHolder\" onMouseOver=\"HelpTimeOut(false);\" onMouseOut=\"HelpTimeOut(true);\" style=\"position:absolute;display:none;z-index:444;\""+"><"+"/div>");

	
	function showHelp(obj,id)
	{
		var left = obj.offsetLeft;
		var top = obj.offsetTop;
		var objParent = obj.offsetParent;
		var height = obj.offsetHeight;
		var width = obj.offsetWidth;
		while( objParent.tagName.toUpperCase() != "BODY" )
		{
			left  += objParent.offsetLeft;
			top   += objParent.offsetTop;
			objParent = objParent.offsetParent;
		}
		
		if(!loadingHelp)
		{
			HelpTimeOut(false);
			var helpDiv = document.getElementById("helpHolder");
			
			if(left > document.body.clientWidth - 100)
			{
				left = document.body.clientWidth - 100; 
			}
			
			if(top + height > document.body.clientHeight - 20)
			{
				top = top - height - 30; 
			}
			
			helpDiv.style.left = left;
			helpDiv.style.top = top + height;
			helpDiv.style.display = "";
			
			
			getHelp(id);
			hideSelectForHelp();
		}
		
	}
	
	function getHelp(id)
	{
		var helpDiv = document.getElementById("helpHolder");
		if(help[id] != undefined) {
			helpDiv.innerHTML = help[id];
			return true;
		}
		var url = helpAddress + escape(id);
		var req = new XMLHttpRequest();
		if(req)
		{
			req.onreadystatechange = function ()
					{
						if(req.readyState != 4)
						{
							helpDiv.innerHTML = lang("loading");
							loadingHelp = true;
						}
						else
						{
							loadingHelp = false;
							help[id] = safeCode(req.responseText);
							helpDiv.innerHTML = help[id];
							delete(req);
						}
					}
			req.open("GET",url);
			req.send(null);
		}
		return true;
	}
	
	function HelpTimeOut(yes)
	{
		if(yes)
		{
			if(helpTimeout != null) HelpTimeOut(false);
			
			helpTimeout = setTimeout(hideHelp,500);
		}
		else
		{
			clearTimeout(helpTimeout);
			helpTimeout = null;
		}
	}
	
	function hideHelp()
	{
		var helpDiv = document.getElementById("helpHolder");
		helpDiv.style.display = "none";
		helpDiv.innerHTML = "";
		showSelectForHelp();
	}
	
	function hideSelectForHelp()
	{
		if(navigator.appName.match(/microsoft/i))
		{
			var selects = document.getElementsByTagName("select");
			for(var i = 0; i < selects.length; i++)
			{
				selects[i].style.visibility = "hidden";
			}
		}
	}
	
	function showSelectForHelp()
	{
		if(navigator.appName.match(/microsoft/i))
		{
			var selects = document.getElementsByTagName("select");
			for(var i = 0; i < selects.length; i++)
			{
				selects[i].style.visibility = "visible";
			}
		}
	}
	
	function safeCode(code)
	{
		RegExp.multiline = true;
		code = code.replace(/<html[^>]*\>/gi,"")
				.replace(/<![^>]*>/gi,"")
				.replace(/<head[^>]*>/gi,"")
				.replace(/<\/head[^>]*>/gi,"")
				.replace(/<title[^>]*>/gi,"")
				.replace(/<\/title[^>]*>/gi,"")
				.replace(/<style[^>]*>/gi,"")
				.replace(/<\/style[^>]*>/gi,"")
				.replace(/<script[^>]*>/gi,"")
				.replace(/<\/script[^>]*>/gi,"")
				.replace(/<meta[^>]*>/gi,"")
				.replace(/<link[^>]*>/gi,"")
				.replace(/<\/html[^>]*>/gi,"")
				.replace(/<body[^>]*>/gi,"")
				.replace(/<\/body[^>]*>/gi,"");
		return code;
	}
