/* Create a new XMLHttpRequest object to talk to the Web server */
var xmlHttp = false;
/*@cc_on @*/
/*@if (@_jscript_version >= 5)
try {
  xmlHttp = new ActiveXObject("Msxml2.XMLHTTP");
} catch (e) {
  try {
    xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
  } catch (e2) {
    xmlHttp = false;
  }
}
@end @*/

if (!xmlHttp && typeof XMLHttpRequest != 'undefined') {
  xmlHttp = new XMLHttpRequest();
}

function isValidEmail(str) {
    return (str.indexOf(".") > 2) && (str.indexOf("@") > 0);
    }

function validateForm() {
    var username = document.signupform.username.value;
    if ((username == null) || (username == "")) { alert("Please enter a username."); }
    else {
        var url = "/ajax/checkusername.php?username=" + escape(username) ;
        myRand = "&rand=" + parseInt(Math.random()*99999999);  // cache buster
        url = url + myRand ;
        xmlHttp.open("GET", url, true);
        xmlHttp.onreadystatechange = validateForm2;
        xmlHttp.send(null);
        }
    }

function validateForm2() {
    if (xmlHttp.readyState == 4) {
        var response = xmlHttp.responseText;
        if (response == "in use") { alert("The username you have entered is already being used by someone else.  Please select a new one and try again."); }
        else if (response == "bad word") { alert("The username you have entered cannot be accepted.  Please select a new one and try again."); }
        else if (response == "okay") {
            var email = document.signupform.email.value ;
            if (document.signupform.password.value == "") { alert("Please enter a password."); }
            else if (document.signupform.password.value != document.signupform.password2.value) { alert("Your passwords don't match."); }
            else if (document.signupform.firstname.value == "") { alert("Please enter your first name."); }
            else if (document.signupform.lastname.value == "") { alert("Please enter your last name."); }
            else if ((email == "") | (!isValidEmail(email))) { alert("Please enter a valid email address.") ; }
            else {
                document.signupform.submit() ;
                }
            }
        else { alert("Unexpected Error. Please try again.") ; }
        }
    }

function validateEditForm() {
    var email = document.signupform.email.value ;
    if (document.signupform.password.value == "") { alert("Please enter a password."); }
    else if (document.signupform.password.value != document.signupform.password2.value) { alert("Your passwords don't match."); }
    else if (document.signupform.firstname.value == "") { alert("Please enter your first name."); }
    else if (document.signupform.lastname.value == "") { alert("Please enter your last name."); }
    else if ((email == "") | (!isValidEmail(email))) { alert("Please enter a valid email address.") ; }
    else {
        document.signupform.submit() ;
        }
    }
