Es como si la segunda vez nunca tuviera "readyState==4" :S
Código PHP:
function singup()
{
var name=document.getElementById("name").value;
var pass=document.getElementById("pass").value;
var pass2=document.getElementById("pass2").value;
var email=document.getElementById("email").value;
var terms=document.getElementById("terms").value;
var auth
auth = newAjax();
auth.open ('GET', "../ajax/ajaxSingup.php?name="+name+"&pass="+pass+"&pass2="+pass2+"&email="+email+"&terms="+terms, true);
auth.send (null);
auth.onreadystatechange = function()
{
if(auth.readyState==4)
{
var singupResult = auth.responseText.split("%"); //Separa las variables, que vienen separadas con "%" xD;
// De esta manera, loginResult[0] es si se registró o no, y loginResult[1] es un mensaje de error, en el caso de que halla xD;
singupResult[0] = toBool(singupResult[0]); //Lo convierte a booleano, para poder hacer todas las cosas locas de booleanos =D;
if(singupResult[0])
{
message("- "+LANG_NEWUSER_SUCCES+" -", singupResult[1], 2);
document.getElementById("submit").disabled=false;
}
else
{
message("- "+LANG_ERROR+" -", singupResult[1], 0);
document.getElementById("submit").disabled=false;
}
}
}
message("- "+LANG_CONSULT+" -", '<img src="../images/loadLogo.gif">', 1);
document.getElementById("submit").disabled=true;
return false;
}
Código PHP:
function newAjax()
{
var pagina_requerida = false;
if (window.XMLHttpRequest)
{
// Si es Mozilla, Safari etc
pagina_requerida = new XMLHttpRequest();
} else if (window.ActiveXObject)
{
// pero si es IE
try
{
pagina_requerida = new ActiveXObject("Msxml2.XMLHTTP");
}
catch (e)
{
// en caso que sea una versión antigua
try
{
pagina_requerida = new ActiveXObject("Microsoft.XMLHTTP");
}
catch (e)
{
}
}
}
else
return false;
return pagina_requerida;
}