window.onload = initPage;
var usernameValid=false;
var passwordValid = false;
var emailValid=false;

function initPage(){
document.getElementById("newusernick").onblur=checkNickNewUser;
document.getElementById("newpswduser2").onblur=checkPassword;
document.getElementById("newemailuser").onblur=checkEmailNewUser;
//document.getElementById("buttons1").disabled = true;
document.getElementById("buttons2").disabled = true;
}

function checkNickNewUser(){
    //get a request object and send it to the server
    document.getElementById("newusernick").className = "thinking";
    usernamerequest=createRequest();
    if (usernamerequest==null){
        alert("Unable to create request.");
    }
    //When there is a request object, send it to checkName.php
    else{
        var theName = document.getElementById("newusernick").value;
        var usernick = escape(theName);
        var url = "../controllers/checknick.php?usernick=" + usernick ;
        usernamerequest.onreadystatechange = showNickStatus;
        usernamerequest.open("GET", url, true);
        usernamerequest.send(null);
    }
}

function showNickStatus(){
    //update the page to show whether the user name is OK.

    if(usernamerequest.readyState ==4){
        if(usernamerequest.status == 200){
            if(usernamerequest.responseText=="okay"){
            document.getElementById("newusernick").className = "approved";
            usernameValid = true;
            }

        else{
            // tell the user there's a problem'
            document.getElementById("newusernick").className = "denied";
            usernameValid = false;
        }
        checkFormStatus();
        }
    }
}
function checkEmailNewUser(){
      //get a request object and send it to the server
    document.getElementById("newemailuser").className = "thinking";
    emailrequest=createRequest();
    if (emailrequest==null){
        alert("Unable to create request.");
    }
    //When there is a request object, send it to checkName.php
    else{
        var theEmail = document.getElementById("newemailuser").value;
        var useremail = escape(theEmail);
        var url = "../controllers/checkemail.php?useremail=" + useremail ;
        emailrequest.onreadystatechange = showEmailStatus;
        emailrequest.open("GET", url, true);
        emailrequest.send(null);
    }
}

function showEmailStatus(){
    //update the page to show whether the user name is OK.

    if(emailrequest.readyState ==4){
        if(emailrequest.status == 200){
            if(emailrequest.responseText=="okay"){
            document.getElementById("newemailuser").className = "approved";
            emailValid = true;
            }

        else{
            // tell the user there's a problem'
            document.getElementById("newemailuser").className = "denied";
            emailValid = false;
        }
        checkFormStatus();
        }
    }
}

function checkPassword(){
    var password1 = document.getElementById("newpswduser1");
    var password2 = document.getElementById("newpswduser2");
    password1.className="thinking";
   //Checking if pswd1 equals pswd2
    if((password1.value =="")||(password1.value != password2.value)){
        password1.className="denied";     
        return;
    }
    // passwords match, send request to server
    passwordrequest = createRequest();
    if(passwordrequest==null){
        alert("unable to create request");
    }
    else{
        var password=escape(password1.value);
        var url = "../controllers/checkpass.php?password="+ password;
        passwordrequest.onreadystatechange=showPasswordStatus;
        passwordrequest.open("GET", url, true);
        passwordrequest.send(null);
    }
}
function showPasswordStatus(){
    if(passwordrequest.readyState==4){
        password1=document.getElementById("newpswduser1");
        if(request.status==200){
            if (passwordrequest.responseText=="okay"){
                password1.className="approved";
                passwordValid = true;
              
            }
            else{
                password1.className="denied";
                passwordValid = false;
            }
            checkFormStatus();
        }
    }
}
function checkFormStatus() {
  if (usernameValid && passwordValid &&emailValid) {
    document.getElementById("buttons2").disabled = false;
  } else {
    document.getElementById("buttons2").disabled = true;
  }
}
