var snl_NewIFrame = null;
var snl_inFrame	= false;

function snl_findPosX(lobj)
{
	var curleft = 0;
	if (lobj.offsetParent)
	{
		while (lobj.offsetParent)	
		{
			curleft += lobj.offsetLeft
			lobj = lobj.offsetParent;
		}
	}
	else if (lobj.x)
		curleft += lobj.x;
	return curleft;
}

function snl_findPosY(lobj)
{
	var curtop = 0;
	if (lobj.offsetParent)
	{
		while (lobj.offsetParent)
		{
			curtop += lobj.offsetTop
			lobj = lobj.offsetParent;
		}
	}
	else if (lobj.y)
		curtop += lobj.y;
	return curtop;
}

function snl_killPopup()
{
	if ( snl_inFrame == false && snl_NewIFrame != null )
	{
		snl_hidepopup();
		snl_NewIFrame = null;
	}
}

function snl_enterPopup(entering)
{
	if ( entering )
	{
		snl_inFrame = true;
	}
	else
	{	
		snl_inFrame = false;
		window.setTimeout(snl_killPopup, 500);
	}
}


function snl_hoveringLink(server, entering)
{
	var servercell = document.getElementById("snlserver" + server);
	if ( entering )
	{
		if ( snl_NewIFrame != null )
		{
			snl_hidepopup();
			snl_NewIFrame = null;
		}
		snl_NewIFrame = snl_displaypopup(server, snl_findPosY(servercell), snl_findPosX(servercell) + servercell.clientWidth + 5);
		snl_inFrame = true;
	}
	else
	{
		snl_inFrame = false;
		window.setTimeout(snl_killPopup, 500);
	}
}

function snl_displaypopup(server, ypos, xpos)
{
	objref			= document.getElementById("serverinfo");
	objref.style.left	= xpos + "px";
	objref.style.top	= ypos + "px";
	objref.style.visibility = "visible";
	server			= serverData[server];
	var data 		= "<table width=\"100%\" height=\"100%\" border=\"0\" cols=\"2\" cellspacing=\"0\" class=\"tablebg\">";
	data += "<tr><th class=\"thCornerL\" width=\"95%\">";
	if ( server.desc != null )
	{
		if ( server.mini_icon != "" )
		{
			data += server.mini_icon + "&nbsp;";
		}
		data += "<b>" + server.desc + "</b>";
	}
	data += "<th class=\"thCornerL\" width=5% align=right><a href=\"#\" onClick=\"snl_hidepopup();return false\">x</a>";
	data += "<tr align=right>";
	data += "<td class=\"row1\" colspan=2><span class=\"genmed\">";
	
	if ( server.serverinfo == 1 )
	{
		data += "<!-- Start GameTracker Banner -->";
		data += "<iframe src=\"http://cache.www.gametracker.com/components/html0/?host=";
		data += server.ip + ":" + server.port;
		data += "&width=300&height=547&bgColor=333333&titleBgColor=222222&borderColor=555555&fontColor=cccccc&titleColor=ff9900&linkColor=ffcc00&borderLinkColor=222222";
		data += "&showMap=1&showCurrPlayers=1&showTopPlayers=1&showBlogs=0\" frameborder=\"0\" scrolling=\"no\" width=\"300\" height=\"547\"></iframe>";
		data += "<!-- End GameTracker Banner -->";
	}
	else
	{	
		data += "<table border=0 width=100% height=100%><tr>"
		if ( server.med_icon != "" )
		{
			data += "<td width=50% align=left>" + server.med_icon + "</td>";
		}
		data += "<td width=50% align=right valign=bottom><span class=\"genmed\">";
		if ( server.ip != null )
		{
			data += "<br><i>IP:</i>  <b>" + server.ip + "</b>";
		}
		if ( server.port != null )
		{
			data += "<br><i>Port:</i>  <b>" + server.port + "</b>";
		}
		if ( server.pubslots != null && server.pubslots > 0 )
		{
			data += "<br><i>Slots:</i>  <b>" + server.pubslots;
			if ( server.privslots != null && server.privslots > 0 )
			{
				data += " + " + server.privslots;
			}
			data += "</b>";
		}
		if ( server.stats != null && server.stats != "" )
		{
			data += "<br><br><a href=\"http://";
			data += server.stats;
			data += "\" target=\"_blank\">Player stats</a>";
		}
		data += "</span></td></tr></table>";
	}
	data += "</span></td></tr></table>";
	objref.innerHTML = data;
	return objref;
}

function snl_hidepopup()
{
	objref.style.visibility	= "hidden"
}

function snl_displayServerList()
{
	document.write("<table class=\"tablebg\" cellspacing=\"1\" width=\"100%\">");
	document.write("<tr class=\"row1\"><td class=\"cat\" align=\"left\"><h4>Our Servers</h4></td></tr>");
	for ( var i = 0; i < serverData.length; i++ )
	{
		document.write("<tr>");
		document.write("<td class=\"row1\" id=\"snlserver" + i + "\" ");
		document.write("onMouseOver=\"snl_hoveringLink(" + i + ", true);\" ");
		document.write("onMouseOut=\"snl_hoveringLink(" + i + ", false);\">");
		if ( serverData[i].mini_icon != "" )
		{
			document.write(serverData[i].mini_icon + "&nbsp;");
		}
		document.write("<span class=\"gensmall\" onselect=false><b>");
		document.write(serverData[i].desc);
		document.write("</b></span>");
		document.write("</td></tr>");
	}
	document.write("</table><br/>");
}
