req.onreadystatechange = function() { if(req.readyState == 4) { if(req.status == 200) { var attrs = new Array('description', '', 'version'); var descs = new Array('Description', 'Address', 'Server Version'); var oldul = document.getElementById('aaservers'); var serversul = document.createElement('ul'); servers = req.responseXML.getElementsByTagName('Server'); for(var i = 0; i < servers.length; ++i) { var server = servers[i]; if(filterList && !server.getAttribute('name').match(/Eclipse/)) continue; var serverli = document.createElement('li'); serverli.appendChild(document.createTextNode(server.getAttribute('name') + ' (' + server.getAttribute('numplayers') + '/' + server.getAttribute('maxplayers') + ')')); var serverdetails = document.createElement('div'); var serverdl = document.createElement('dl'); for(var j=0; j < attrs.length; ++j) { var name = attrs[j]; var desc = descs[j]; var dt = document.createElement('dt'); dt.appendChild(document.createTextNode(desc)); var dd = document.createElement('dd'); if(desc=="Address") { dd.appendChild(document.createTextNode(server.getAttribute('ip') + ':' + server.getAttribute('port'))); } else { dd.appendChild(document.createTextNode(server.getAttribute(name))); } serverdl.appendChild(dt); serverdl.appendChild(dd); } serverli.onmouseover = function() { dl = this.getElementsByTagName('dl')[0]; dl.setAttribute('class', 'hover'); } serverli.onmouseout = function() { this.getElementsByTagName('dl')[0].setAttribute('class', ''); } serverli.appendChild(serverdl) if(server.getAttribute('players') != "0") { var playersul = document.createElement('ul'); var players = server.getElementsByTagName('Player'); for(var j=0; j < players.length; ++j) { var player = players[j]; var playerli = document.createElement('li'); playerli.appendChild(document.createTextNode(player.getAttribute('name'))); if(player.getAttribute('name').toLowerCase().match(/¦×¥|elex|flex|hoax|goax|rico|$ubzero|fofo|legit/)) { playerli.className = 'hilight';} playersul.appendChild(playerli); } serverli.appendChild(playersul); } serverli.setAttribute('class', 'aaserver'); serversul.appendChild(serverli); } serversul.setAttribute('id', 'aaservers'); if(oldul) { oldul.parentNode.replaceChild(serversul, oldul); } else { theElem.appendChild(serversul); } } else { alert('Error ' + req.status); } } } document['fillServerList'] = function(element) { theElem=element; if(!styleDone) {