function createHelp(id, keyword, ajax_timeout, group, left, top) {
	
	if (typeof(group) == "undefined") { group = 'false'; }
	if (typeof(left) == "undefined") { left = "150px"; }
	if (typeof(top) == "undefined") { top = "50"; }
	top = eval(parseInt(document.body.scrollTop) + parseInt(top)) + "px";
	
	// Remove any existing help_keyword div
	removeHelpKeyword(id);

	// Create progress div
	var help_keyword_div = document.createElement("div");
	help_keyword_div.id = id + "_div";
	help_keyword_div.style.position = "absolute";
	help_keyword_div.style.visibility = "hidden";
	help_keyword_div.style.zIndex = "9999";
	help_keyword_div.style.border = "1px solid black";
	help_keyword_div.style.width = "400px";
	help_keyword_div.style.height = "380px";
	help_keyword_div.style.left = left;
	help_keyword_div.style.top = top;
	help_keyword_div.style.backgroundColor = "#FFF";
	var help_keyword_table = document.createElement("table");
	help_keyword_table.cellPadding = "0";
	help_keyword_table.cellSpacing = "0";
	help_keyword_table.border = "0";
	help_keyword_table.style.height = "100%";
	help_keyword_table.style.width = "100%";
	help_keyword_table.className = "helpBoxBorder";
	var help_keyword_tbody = document.createElement("tbody");
	var help_keyword_handle = document.createElement("tr");
	help_keyword_handle.id = id + "_handle";
	help_keyword_handle.style.cursor = "move";
	var help_keyword_handle_td_1 = document.createElement("td");
	help_keyword_handle_td_1.className = "helpBoxHeading";
	help_keyword_handle_td_1.style.verticalAlign = "middle";
	help_keyword_handle_td_1.style.width = "390";
	help_keyword_handle_td_1.innerHTML = "Help";
	var help_keyword_handle_td_2 = document.createElement("td");
	help_keyword_handle_td_2.className = "helpBoxHeading";
	help_keyword_handle_td_2.style.textAlign = "right";
	help_keyword_handle_td_2.style.padding = "0px";
	help_keyword_handle_td_2.style.paddingBottom = "1px";
	help_keyword_handle_td_2.style.margin = "0px";
	help_keyword_handle_td_2.innerHTML = "<img src='/ahf_display/images/mail/gray_close.gif' width='17' " +
																					 "height='17' border='0' " +
																					 "id='close_" + id + "_link' style='cursor:pointer;padding:0px' />";
	var help_keyword_form_row_1 = document.createElement("tr");
	var help_keyword_form_cell_1 = document.createElement("td");
	help_keyword_form_cell_1.className = "form";
	help_keyword_form_cell_1.colSpan = "2";
	help_keyword_form_cell_1.style.padding = "0px";
	help_keyword_form_cell_1.innerHTML = "<table cellpadding='0' cellspacing='0' border='0' height='100%' width='100%'>" +
														 "<tr>" +
														 "<td id='" + id + "_cell' class='formbold' style='padding:3px' style='text-align:center;vertical-align:top'>" +
														 "</td>" +
														 "</tr>" +
														 "</table>";
  help_keyword_handle.appendChild(help_keyword_handle_td_1);
	help_keyword_handle.appendChild(help_keyword_handle_td_2);
	help_keyword_form_row_1.appendChild(help_keyword_form_cell_1);
	help_keyword_tbody.appendChild(help_keyword_handle);
	help_keyword_tbody.appendChild(help_keyword_form_row_1);
	help_keyword_table.appendChild(help_keyword_tbody);
	help_keyword_div.appendChild(help_keyword_table);
	document.body.appendChild(help_keyword_div);
	
	// Fade in and out
	YAHOO.AHF.overlayHelp = new YAHOO.widget.Overlay(id + "_panel", { xy:[left.replace("px", ""), top.replace("px", "")], 
																				visible:false, 
																				effect:{effect:YAHOO.widget.ContainerEffect.FADE,duration:0.25} } );
	YAHOO.AHF.overlayHelp.render();
	
	// Set contents
	var progress_cell = document.getElementById(id + "_cell");
	progress_cell.innerHTML = "<div style='overflow:auto;height:354px;'><table cellpadding='0' cellspacing='0' border='0'>" 
															+	"<tr>"
															+ "<td id='help_content_cell' class='form' style='text-align:center;vertical-align:center;padding:10px'>"
															+ "</td>"
															+ "</tr>"
															+ "<tr><td id='help_content_close_link_cell' class='form' style='text-align:center;padding:10px;padding-top:20px'></td></tr>"
															+ "<tr><td id='help_content_footer_cell' class='form' style='text-align:center;padding:10px;padding-top:20px'></td></tr>"
															+	"</table></div>";
															
	// AJAX help retrieve
	try {

		var helpKeywordCallback =
		{
			success:handleHelpKeywordResponse,
			failure:handleHelpKeywordFailure,
			argument:[id, group],
			timeout:ajax_timeout
		};
	
		if (group == 'true') {
			var sUrl = "/help_group_ajax.php?group=" + keyword;
		} else {
			var sUrl = "/help_keyword_ajax.php?keyword=" + keyword;
		}
		var cHelpKeywordObj = YAHOO.util.Connect.asyncRequest('GET', sUrl, helpKeywordCallback);
					
	} catch (e) {
		alert("There was an error looking up help for keyword " + keyword + ": " + e.message);
	}
	
	// Attach handle handler
	window[id + "_dd"] = new YAHOO.AHF.DDOnTop(id + "_div");	// Dynamic global variable name
	window[id + "_dd"].setHandleElId(id + "_handle");

	// Fade in and out
	window[id + "_overlay"] = new YAHOO.widget.Overlay(id + "_div", { xy:[left.replace("px", ""), top.replace("px", "")], 
																				visible:false, 
																				effect:{effect:YAHOO.widget.ContainerEffect.FADE,duration:0.25} } );
	window[id + "_overlay"].render();
	
	// Close link listener
	YAHOO.util.Event.addListener("close_" + id + "_link", "click", destroyHelpKeyword, id);
	YAHOO.util.Event.addListener("help_content_close_link_cell", "click", destroyHelpKeyword, id);
	
	// Display it
	window.setTimeout("window['" + id + "_overlay'].show(window['" + id + "_overlay'], true)", 250);
};

// AJAX callback functions
var handleHelpKeywordResponse = function(o){
			
	if (o.responseXML !== undefined) {		
		try {
			var status = o.responseXML.getElementsByTagName("status")[0].firstChild.data;
			if (status == "OK") {
				var id = o.argument[0];
				var group = o.argument[1];
				var help_close_link = "<span class='helpCloseLink'>[Close Window]</span>";
				var help_footer = o.responseXML.getElementsByTagName("footer")[0].firstChild.data;
				var help_content_cell = document.getElementById("help_content_cell");
				help_content_cell.style.visibility = "hidden";
				help_content_cell.style.textAlign = "left";
				help_content_cell.style.verticalAlign = "top";
				if (group == 'true') {
					var helps = o.responseXML.getElementsByTagName("helps")[0];
					var group_name_old = '';
					for (var i = 0; i < helps.childNodes.length; i++) {
						var help_topic = helps.childNodes[i].getElementsByTagName("topic")[0].firstChild.data;
						var help_desc = helps.childNodes[i].getElementsByTagName("desc")[0].firstChild.data;
						var help_group = helps.childNodes[i].getElementsByTagName("group_desc")[0].firstChild.data;
						if (help_group != group_name_old) {
							group_name_old = help_group;
							help_content_cell.innerHTML += "<div class='menu' width='400px'>" + help_group + "</div><br /><br />";
						}
						help_content_cell.innerHTML += "<b>" + help_topic + "</b><br /><br />" + help_desc + "<br /><br />";
					}
				} else {
					var help_topic = o.responseXML.getElementsByTagName("topic")[0].firstChild.data;
					var help_desc = o.responseXML.getElementsByTagName("desc")[0].firstChild.data;
					help_content_cell.innerHTML = "<b>" + help_topic + "</b><br /><br />" + help_desc;
				}
				var help_content_container = document.getElementById(id + "_cell");
				help_content_container.style.verticalAlign = "top";
				var help_content_footer_cell = document.getElementById("help_content_footer_cell");
				help_content_footer_cell.innerHTML = help_footer;
				var help_content_close_link_cell = document.getElementById("help_content_close_link_cell");
				help_content_close_link_cell.innerHTML = help_close_link;
				help_content_cell.style.visibility = "visible";
			} else {
				var errDesc = o.responseXML.getElementsByTagName("errdesc")[0].firstChild.data;
				alert("There was an error looking up help: " + errDesc);
			}
		} catch(e) {
			alert("There was an error looking up help: " + e.message);
		}
	} else {
		alert("There was an error looking up help: XML object was not present in response.");
	}
	
};

function handleHelpKeywordFailure(o) {
	
	alert("There was an error looking up help: The operation timed out.");
};

function destroyHelpKeyword(evt, id) {
	var help_keyword_div = document.getElementById(id + "_div");
	if (help_keyword_div != null) {
		window[id + "_overlay"].hide(window[id + "_overlay"], false);
		window.setTimeout("removeHelpKeyword('" + id + "')", 250);
	}
};

function removeHelpKeyword(id) {

	var help_keyword_div = document.getElementById(id + "_div");
		if (help_keyword_div != null) {
			document.body.removeChild(help_keyword_div);	
		}
}

