var xmlhttp = null;
var obj;
var game;
var plogin;
var Mesh;
var MeshID;
var Diff;
var PluginCount;
var elemnt;
var HostIP;
var HostPort;


function getUsers(o)
{	
	obj=o;
	var str=obj.value;
	str=str.replace(/_/g, '');
	str=str.replace(/%/g, '');
	str=str.replace(/&/g, '');
	obj.value=str;
	if(str.length>0)
	{

		xmlhttp = GetXmlHttpObject()
	
		if (xmlhttp==null)
  		{
  			alert("Browser does not support HTTP Request");
  			return;
  		}
  	
		var url="http://www.mariusnet.com/scripts/getUsers_AJAX.php?slogin=";
		url=url+str;
        	xmlhttp.onreadystatechange=stateChanged;
		xmlhttp.open("GET",url,true);
        	xmlhttp.send(null);
        }else
        {
        	document.getElementById("lookup").innerHTML="";
        	document.getElementById("lookup").style.display="none";
        }
}

function getGameDetail(g)
{
	game = g;
	if(game>0)
	{
		xmlhttp = GetXmlHttpObject()
	
		if (xmlhttp==null)
  		{
  			alert("Browser does not support HTTP Request");
  			return;
  		}
  	
		var url="http://www.mariusnet.com/scripts/getUsers_AJAX.php?GameId=";
		url=url+game;
        	xmlhttp.onreadystatechange=GetGameDetail;
		xmlhttp.open("GET",url,true);
        	xmlhttp.send(null);
        }else
        {
        	document.getElementById(game).innerHTML="";
        	document.getElementById(game).style.display="none";
        }
}

function getUserGameTypeStats(p)
{
	plogin = p;
	if(plogin !== null)
	{
		xmlhttp = GetXmlHttpObject()
	
		if (xmlhttp==null)
  		{
  			alert("Browser does not support HTTP Request");
  			return;
  		}
  	
		var url="http://www.mariusnet.com/scripts/getUsers_AJAX.php?plogin=";
		url=url+plogin;
        	xmlhttp.onreadystatechange=GetGameTypeStats;
		xmlhttp.open("GET",url,true);
        	xmlhttp.send(null);
        }else
        {
        	document.getElementById(plogin).innerHTML="";
        	document.getElementById(plogin).style.display="none";
        }
}

function getMeshTop20(m, mid, diff, pct)
{
	Mesh = m;
	MeshID=mid;
	Diff=diff;
	PluginCount=pct;
	elemnt = MeshID+"_"+Diff+"_"+PluginCount;

	if(plogin !== null)
	{
		xmlhttp = GetXmlHttpObject()
	
		if (xmlhttp==null)
  		{
  			alert("Browser does not support HTTP Request");
  			return;
  		}
  	
		var url="http://www.mariusnet.com/scripts/getUsers_AJAX.php?Mesh="+Mesh+"&Meshid="+MeshID+"&Diff="+Diff+"&PCt="+PluginCount;
        	xmlhttp.onreadystatechange=GetMeshTop20;
		xmlhttp.open("GET",url,true);
        	xmlhttp.send(null);
        }else
        {
        	document.getElementById(elemnt).innerHTML="";
        	document.getElementById(elemnt).style.display="none";
        }
}

function getHostCheck(ip, port)
{
	HostIP = ip;
	HostPort = port;
	
	document.getElementById("status").innerHTML="Checking port "+HostPort+" ...";
	document.getElementById("status").style.display="";
	
	if(HostIP !== null)
	{
		xmlhttp = GetXmlHttpObject()
	
		if (xmlhttp==null)
  		{
  			alert("Browser does not support HTTP Request");
  			return;
  		}
  	
		var url="http://www.mariusnet.com/scripts/getUsers_AJAX.php?HostCheck="+HostIP+"&HostPort="+HostPort;
        	xmlhttp.onreadystatechange=GetHostCheck;
		xmlhttp.open("GET",url,true);
        	xmlhttp.send(null);
        }else
        {
        	document.getElementById("status").innerHTML="";
        	document.getElementById("status").style.display="none";
        }
	
}

function GetXmlHttpObject()
{
	var xmlHttp=null;
	try
	{
  		// Firefox, Opera 8.0+, Safari
  		xmlHttp=new XMLHttpRequest();
  	}
	catch (e)
  	{
  		// Internet Explorer
  		try
    		{
    			xmlHttp=new ActiveXObject("Msxml2.XMLHTTP");
    		}
  		catch (e)
    		{
    			xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
    		}
  	}
	return xmlHttp;
}

function stateChanged()
{
    if(xmlhttp.readyState == 4 || xmlhttp.readyState=="complete")
    {
    	var ob = document.getElementById("lookup");
    	var o = document.getElementById("login");
        ob.innerHTML=xmlhttp.responseText;
        ob.style.width=130;
        ob.style.display='';
        ob.style.borderWidth="1px";
        ob.style.borderColor="#222222";
        ob.style.backgroundColor=obj.style.backgroundColor;
        ob.style.padding=3;
        ob.style.left=getX(o);
        ob.style.top=getY(o) + 25;
    }
}

function GetGameDetail()
{
    if(xmlhttp.readyState == 4 || xmlhttp.readyState=="complete")
    {
    	var ob = document.getElementById(game);
    	var row = document.getElementById('row_' + game);
    	ob.style.display='';
    	if(row.style.display=='none'){ row.style.display=''; }else{ row.style.display='none'; }
        ob.innerHTML=xmlhttp.responseText;
    }
}

function GetGameTypeStats()
{
    if(xmlhttp.readyState == 4 || xmlhttp.readyState=="complete")
    {
    	var ob = document.getElementById(plogin);
    	var row = document.getElementById('row_' + plogin);
    	ob.style.display='';
    	if(row.style.display=='none'){ row.style.display=''; }else{ row.style.display='none'; }
        ob.innerHTML=xmlhttp.responseText;
    }
}

function GetMeshTop20()
{
    if(xmlhttp.readyState == 4 || xmlhttp.readyState=="complete")
    {
    	var ob = document.getElementById(elemnt);
    	var row = document.getElementById('row_' + elemnt);
    	ob.style.display='';
    	if(row.style.display=='none'){ row.style.display=''; }else{ row.style.display='none'; }
        ob.innerHTML=xmlhttp.responseText;
    }
}

function GetHostCheck()
{
    if(xmlhttp.readyState == 4 || xmlhttp.readyState=="complete")
    {
    	var ob = document.getElementById('status');
    	var row = document.getElementById('row_status');
    	ob.style.display='';
    	if(row.style.display=='none'){ row.style.display=''; }
        ob.innerHTML=xmlhttp.responseText;
    }
}

function getX( oElement )
{
	var iReturnValue = 0;
	while( oElement != null ) {
		iReturnValue += oElement.offsetLeft;
		oElement = oElement.offsetParent;
	}
	return iReturnValue;
}


function getY( oElement )
{
	var iReturnValue = 0;
	while( oElement != null ) {
		iReturnValue += oElement.offsetTop;
		oElement = oElement.offsetParent;
	}
	return iReturnValue;
}

function setText(str)
{
	obj.value=str;
}



