var NUM_LINKS_BESIDES_USER_LINKS = 31;
var linksInWaiting = 0;
var getID = getXmlHTTP();
var usersThisPage = ;
function getUpdate(link)
{
// Get the update.
linksInWaiting++;
shiftLeft(link);
requestUpdate();
}
function requestUpdate()
{
if(getID.readyState==0)
{
getID.open("GET", "scripts/getID.php5", true);
getID.onreadystatechange = updateLink;
getID.send(null);
}
}
function updateLink()
{
if(getID.readyState==4)
{
link = document.getElementById(""+usersThisPage - linksInWaiting);
result = getID.responseText;
user = result.split(":");
id = user[0];
score = user[1];
img = user[2];
if (id != "")
{
link.href="scripts/addUser.php5?id="+id;
link.innerHTML ="
";
document.getElementById("score"+link.id).innerHTML = score;
}
else
{
document.getElementById("div"+link.id).innerHTML ="";
// Did we just erase the last user link?
if (document.links.length == NUM_LINKS_BESIDES_USER_LINKS)
document.getElementById("userLinks").innerHTML = "
\nYou've seen everyone there is to see!
\nShow everyone again
\nShow everyone I haven't clicked
\n";
}
// Get a new XmlHTTP object.
getID = getXmlHTTP();
// Record that we just updated a link.
linksInWaiting--;
// Request another update if there are more links to update.
if (linksInWaiting > 0)
requestUpdate();
}
}
function turbo(level)
{
allLinks = document.links;
for (windowsOpened = 0; windowsOpened < level; windowsOpened++)
{
// Just keep refreshing the first link.
window.open(allLinks[NUM_LINKS_BESIDES_USER_LINKS].href);
getUpdate(allLinks[NUM_LINKS_BESIDES_USER_LINKS]);
}
}
function getXmlHTTP()
{
var obj;
try
{
obj = new XMLHttpRequest();
}
catch (e)
{
try
{
obj = new ActiveXObject("Msxml2.XMLHTTP");
}
catch (e)
{
try
{
obj = new ActiveXObject("Microsoft.XMLHTTP");
}
catch (e)
{
alert("This website will not work for you because your browser does not support AJAX.\nPlease update your browser (Firefox is recommended) and try again.");
}
}
}
return obj;
}
function shiftLeft(link)
{
usersThisPage = document.getElementById("userTable").getElementsByTagName("a").length;
// It's less than and plus one because the ID is an array index
// and we don't want to shift the last element left, as there'd
// be nothing to shift it left to.
while (Number(link.id)+1 < usersThisPage)
{
link.innerHTML = document.getElementById(""+(Number(link.id)+1)).innerHTML;
document.getElementById("score"+link.id).innerHTML = document.getElementById("score"+(Number(link.id)+1)).innerHTML;
link.href=document.getElementById(""+(Number(link.id)+1)).href;
link = document.getElementById(""+((Number(link.id)+1)));
}
}
function getStartPoint()
{
NUM_LINKS_BESIDES_USER_LINKS = document.links.length - document.getElementById("userTable").getElementsByTagName("a").length - document.getElementById("footer").getElementsByTagName("a").length;
}