// If we think the browser is IE6 or before, we'll send GIFs
// Otherwise we'll assume the browser can handle PNGs with alpha transparency 
document.iconFileExtension = document.all && navigator.userAgent.charAt(navigator.userAgent.indexOf("MSIE") + 5) <=6 ? ".gif" : ".png";

var contextToolTipEntityId = 0;
var contextToolTipTimer = null;

function MM_ContextMenuHeader(id) {
  document.write ("<div class='HiddenContextMenu' id='ContextMenu" + id + "'>");
}

function MM_ContextMenuFooter() {
  document.write("<div class='Bottom'></div></div>");
}

function MM_ServerContextMenu(menuid, itemid, baseurl) {
  MM_ContextMenuHeader(menuid);
  
  if (baseurl == null)
  	baseurl = "";
  
document.write("<div><a class='ContextMenuItem' style='background-image: url(\"/images/icons/16/configuration" + document.iconFileExtension + "\")' href='" + baseurl + "EditServer.aspx?id=" + itemid + "'>Configuration</a></div>");
document.write("<div><a class='ContextMenuItem' style='background-image: url(\"/images/icons/16/files" + document.iconFileExtension + "\")' href='" + baseurl + "ServerFiles.aspx?id=" + itemid + "'>Files</a></div>");
document.write("<div><a class='ContextMenuItem' style='background-image: url(\"/images/icons/16/statistics" + document.iconFileExtension + "\")' href='" + baseurl + "ServerStatistics.aspx?id=" + itemid + "'>Statistics</a></div>");
document.write("<div><a class='ContextMenuItem' style='background-image: url(\"/images/icons/16/permissions" + document.iconFileExtension + "\")' href='" + baseurl + "ServerPermissions.aspx?id=" + itemid + "'>Permissions</a></div>");
  MM_ContextMenuFooter();
}

function MM_GameContextMenu(menuid, itemid) {
  MM_ContextMenuHeader(menuid);
document.write("<div><a class='ContextMenuItem' style='background-image: url(\"/images/icons/16/configuration" + document.iconFileExtension + "\")' href='EditGame.aspx?id=" + itemid + "'>Configuration</a></div>");
document.write("<div><a class='ContextMenuItem' style='background-image: url(\"/images/icons/16/templates" + document.iconFileExtension + "\")' href='GameTemplates.aspx?id=" + itemid + "'>Templates</a></div>");
document.write("<div><a class='ContextMenuItem' style='background-image: url(\"/images/icons/16/files" + document.iconFileExtension + "\")' href='GameFiles.aspx?id=" + itemid + "'>Files</a></div>");
document.write("<div><a class='ContextMenuItem' style='background-image: url(\"/images/icons/16/properties" + document.iconFileExtension + "\")' href='GameProperties.aspx?id=" + itemid + "'>Properties</a></div>");
document.write("<div><a class='ContextMenuItem' style='background-image: url(\"/images/icons/16/statistics" + document.iconFileExtension + "\")' href='GameStatistics.aspx?id=" + itemid + "'>Statistics</a></div>");
document.write("<div><a class='ContextMenuItem' style='background-image: url(\"/images/icons/16/permissions" + document.iconFileExtension + "\")' href='GamePermissions.aspx?id=" + itemid + "'>Permissions</a></div>");
  document.write ("<hr>");
document.write("<div><a class='ContextMenuItem' style='background-image: url(\"/images/icons/16/status" + document.iconFileExtension + "\")' href='ServerStatus.aspx?gameid=" + itemid + "'>Server Status</a></div>");
document.write("<div><a class='ContextMenuItem' style='background-image: url(\"/images/icons/16/add" + document.iconFileExtension + "\")' href='EditServer.aspx?gameid=" + itemid + "'>Create New Server</a></div>");
document.write("<div><a class='ContextMenuItem' style='background-image: url(\"/images/icons/16/delete" + document.iconFileExtension + "\")' href='DeleteServer.aspx?gameid=" + itemid + "'>Remove A Server</a></div>");
  MM_ContextMenuFooter();
}

function MM_HostContextMenu(menuid, itemid) {
  MM_ContextMenuHeader(menuid);

document.write("<div><a class='ContextMenuItem' style='background-image: url(\"/images/icons/16/configuration" + document.iconFileExtension + "\")' href='EditHost.aspx?id=" + itemid + "'>Configuration</a></div>");

document.write("<div><a class='ContextMenuItem' style='background-image: url(\"/images/icons/16/statistics" + document.iconFileExtension + "\")' href='HostStatistics.aspx?id=" + itemid + "'>Statistics</a></div>");
document.write("<div><a class='ContextMenuItem' style='background-image: url(\"/images/icons/16/permissions" + document.iconFileExtension + "\")' href='HostPermissions.aspx?id=" + itemid + "'>Permissions</a></div>");
  document.write ("<hr>");
document.write("<div><a class='ContextMenuItem' style='background-image: url(\"/images/icons/16/status" + document.iconFileExtension + "\")' href='ServerStatus.aspx?hostid=" + itemid + "'>Server Status</a></div>");
document.write("<div><a class='ContextMenuItem' style='background-image: url(\"/images/icons/16/add" + document.iconFileExtension + "\")' href='EditServer.aspx?hostid=" + itemid + "'>Create New Server</a></div>");
document.write("<div><a class='ContextMenuItem' style='background-image: url(\"/images/icons/16/delete" + document.iconFileExtension + "\")' href='DeleteServer.aspx?hostid=" + itemid + "'>Remove A Server</a></div>");
  MM_ContextMenuFooter();
}

function MM_GetObject(name)
{
	if (document.all)
		return document.all[name];

	return document.getElementById(name);
}
	
function MM_ShowMenu(obj,event)
{
	MM_HideContextToolTip();
	MM_HideMenu();
	name = "ContextMenu" + obj.id.substr(11);

	y = 0;
	if (document.documentElement)
		y = document.documentElement.scrollTop;
	if (!y)
		y = document.body.scrollTop;

	menu = MM_GetObject(name);
	menu.style.left = (event.clientX-5) + "px";
	menu.style.top = (y+event.clientY-5) + "px";
	menu.className="ContextMenu";

	MM_CurrentMenu = name;
	return false;
}


function MM_PositionContextToolTip(obj,event)
{
	name = "EntityToolTipBox";

	y = 0;
	if (document.documentElement)
		y = document.documentElement.scrollTop;
	if (!y)
		y = document.body.scrollTop;

	menu = MM_GetObject(name);
	menu.style.left = (event.clientX-5) + "px";
	menu.style.top = (y+event.clientY+10) + "px";
	menu.className="ContextMenu";

	return false;
}

MM_CurrentMenu = "";
function MM_HideMenu()
{
	if (MM_CurrentMenu == "")
		return;

	menu = MM_GetObject(MM_CurrentMenu);
	menu.className = "HiddenContextMenu";

	MM_CurrentMenu = "";
}

function MM_RequestContextToolTip(entityclass, entityid)
{
	contextToolTipEntityId = entityid;

	switch (entityclass)
	{
		case 1:
 			AjaxObjectTooltip.ShowServerInfo('PageTemplate_EntityToolTip', entityid, function(result) { if (result.value == contextToolTipEntityId) document.getElementById('EntityToolTipBox').style.display = ""; } );
			break;
		case 2:
			AjaxObjectTooltip.ShowHostInfo('PageTemplate_EntityToolTip', entityid, function(result) { if (result.value == contextToolTipEntityId) document.getElementById('EntityToolTipBox').style.display = ""; } );
			break;
		case 3:
			AjaxObjectTooltip.ShowGameInfo('PageTemplate_EntityToolTip', entityid, function(result) { if (result.value == contextToolTipEntityId) document.getElementById('EntityToolTipBox').style.display = ""; } );
			break;
	}
}

function MM_ShowContextToolTip(entityclass, entityid)
{
	if (contextToolTipEntityId == entityid)
		return true;
		
	contextToolTipEntityId = entityid;
	
	contextToolTipTimer = setTimeout("MM_RequestContextToolTip(" + entityclass + ", " + entityid + ");", 500);
	
	return true;
}

function MM_HideContextToolTip()
{
	contextToolTipEntityId = 0;
	clearTimeout(contextToolTipTimer);

	document.getElementById('EntityToolTipBox').style.display = 'none';
}
