var urlUsers="/lib/ajax/onlineusers.xml.php";
var dataUsers = null ;  // donnée envoyée via ajax

//Instantiation et initialisation de l'objet AJAX gérant un objet XMLHTTpRequest
var reqUsers = new AJAX();
reqUsers.setCallbackFunction(DispOnlineUsers); // Fonction de Callback = DispOnlineUsers()

function GetOnlineUsersInfo()
{
        document.getElementById( 'showusers' ).innerHTML = "<img src=\"/images/ajax-loader.gif\" border=0> Getting online users, please wait...<br><br>";
        reqUsers.getFile(urlUsers,dataUsers);
}

function DispOnlineUsers(doc) // Fonction de Callback: reçoit la réponse en paramètre.
{
	// Title
	var selftitle = doc.getElementsByTagName("self")[0].getElementsByTagName("title")[0].firstChild.nodeValue;
	
	// Users
	var user=doc.getElementsByTagName("users")[0].getElementsByTagName("user");
	var nbusers = user.length;
	var id = new Array(nbusers);
	var level = new Array(nbusers);
	var login = new Array(nbusers);
	var idle = new Array(nbusers);
	
	for (i=0;i<nbusers;i++)
	{
		id[i+1]=user[i].getElementsByTagName("id")[0].firstChild.nodeValue;
		level[i+1]=user[i].getElementsByTagName("level")[0].firstChild.nodeValue;
		login[i+1]=user[i].getElementsByTagName("login")[0].firstChild.nodeValue;
		idle[i+1]=user[i].getElementsByTagName("idle")[0].firstChild.nodeValue;
			}
	
	// Mise a jour de l'html
	UsersData = '<table width="100%" border="0" cellspacing="0" cellpadding="0">';
	UsersData+= '<tr bgcolor="#4b4c4c">';
	UsersData+= '<td colspan="2" width="9" valign="top" align="left"><img src="/themes/darkrune/bordlu.gif" width="9" height="10"></td>';
	UsersData+= '<td width="100%" class="titletext1">';
	UsersData+= selftitle;
	UsersData+= '</td>';
	UsersData+= '<td colspan="2" width="9" valign="top" align="right"><img src="/themes/darkrune/bordru.gif" width="9" height="10"></td>';
	UsersData+= '</tr>';
	UsersData+= '<tr height="1" bgcolor=""><td width="1" bgcolor="#4b4c4c"></td><td width="8"></td><td width="100%"></td><td width="8"></td><td width="1" bgcolor="#4b4c4c"></td></tr>';
	UsersData+= '<tr bgcolor=""><td bgcolor="#4b4c4c"></td><td></td><td><font size=1>';
	
	for (i=1;i<=nbusers;i++)
	{
		var UsersCol = "#000000";
					var UsersBulle = "<b>Name:</b> "+login[i]+"<br><b>Level:</b> "+GetLevel(level[i]);
			var UsersHref="";
					if (level[i]<0) UsersCol="#A0A0A0"; // Locked
		else if (level[i]==1) UsersCol="#6060FF"; // Home
		else if (level[i]==2) UsersCol="#0000A0"; // Pro
		else if (level[i]==3) UsersCol="#0000FF"; // Exp.
		else if (level[i]>=4 && level[i]<6) UsersCol="#00A000"; // VIP
		else if (level[i]>=6 && level[i]<8) UsersCol="#A00000"; // Moderator
		else if (level[i]>=8) UsersCol="#FF0000"; // Teamer
		
				UsersData+= " <a onMouseOver=\"showSessionDetail('"+UsersBulle+"');\" onMouseOut=\"hideSessionDetail();\"><font color=\""+UsersCol+"\">"+login[i]+"</font></a> -";
			}//endfor
	
	UsersData+= '</font></td><td></td><td bgcolor="#4b4c4c"></td></tr>';
	UsersData+= '<tr height="3" bgcolor="">';
	UsersData+= '<td rowspan="2" colspan="2" width="9" height="4" valign="bottom" align="left"><img src="/themes/darkrune/bordld.gif" width="9" height="4"></td>';
	UsersData+= '<td></td>';
	UsersData+= '<td rowspan="2" colspan="2" width="9" height="4" valign="bottom" align="right"><img src="/themes/darkrune/bordrd.gif" width="9" height="4"></td>';
	UsersData+= '</tr>';
	UsersData+= '<tr height="1"><td bgcolor="#4b4c4c"></td></tr>';
	UsersData+= '</table><br><br>';
	
	document.getElementById( 'showusers' ).innerHTML = UsersData;
}

function GetLevel(Level)
{
	var LevelLabel=Array;
	LevelLabel[-1] = "Locked account";
LevelLabel[0] = "No license user";
LevelLabel[1] = "Home edition user";
LevelLabel[2] = "Professional edition user";
LevelLabel[3] = "Experienced professional user";
LevelLabel[4] = "VIP Member";
LevelLabel[5] = "Ultra-VIP Member";
LevelLabel[6] = "Moderator";
LevelLabel[7] = "Moderator";
LevelLabel[8] = "Team";
LevelLabel[9] = "Team";
LevelLabel[10] = "Atomix Productions";
	if (Level==-1) return "Locked account";
	else return LevelLabel[Level];
}

var posX=0; posY=0;
function showSessionDetail(txt)
{
	document.getElementById("sessionDetailTxt").innerHTML      = txt;

	document.getElementById("sessionDetail").style.visibility = "visible";
	document.getElementById("sessionDetail").style.top = posY + 5;
	document.getElementById("sessionDetail").style.left = posX;
}

function hideSessionDetail()
{
	document.getElementById("sessionDetail").style.visibility="hidden";
}
function position(evt)
{
	if( !evt ) evt = window.event;
	posX = evt.clientX + (document.documentElement.scrollLeft || document.body.scrollLeft);
	posY = evt.clientY + (document.documentElement.scrollTop || document.body.scrollTop);
}

document.onmousemove = position;