
var base_url = getDocumentSubURL(1) + "/";
var result = "";
var regiterUserResult = "";

function clearEmail() {
    document.getElementById('emailAddr').value = "";
    document.getElementById('emailValidationMesg1').innerHTML = "";
}

function clearPwd1() {
    document.getElementById('password1').value = "";
    document.getElementById('pwdMesg1').innerHTML = "";
}

function clearPwd2() {
    document.getElementById('password2').value = "";
    document.getElementById('pwdMesg2').innerHTML = "";
}

function emailKeyPressed() {
    document.getElementById('emailValidationMesg1').innerHTML = "";
    clearPwd1();
    clearPwd2();
}

function emailGotFocus() {
    clearEmail();
    clearPwd1();
    clearPwd2();
}

function pwd1GotFocus() {
    clearPwd1();
    clearPwd2();
}

function pwd2GotFocus() {
    clearPwd2();
}

function uncheckAgree() {
    document.getElementById('agree').checked = false;
}

function clearAll() {
    document.getElementById('inviteCode').value = "";
    clearEmail();
    clearPwd1();
    clearPwd2();
    uncheckAgree();
    document.getElementById('result').innerHTML = "";
}

function checkPasswordMatch() {
    var pwd1 = document.getElementById('password1').value;
    var pwd2 = document.getElementById('password2').value;

    if (pwd1 != pwd2) {
       var content = "<font color=\"#FF3366\">Password doesn't match</font>";
       document.getElementById('pwdMesg2').innerHTML = content;
    }
}

function validateEmail(id, str) {
    var servlet = "validateRegistration";
    var parameters = "Command=validateEmail&emailAddr=" + 
        encodeURIComponent(str);
    var url = base_url + servlet;

    document.getElementById(id).innerHTML = "";
    http.open("POST", url, true);
    http.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
    http.setRequestHeader("Content-length", parameters.length);
    http.setRequestHeader("Connection", "close");

    http.onreadystatechange=function() {
        result = "error";
        if (4 == http.readyState) {
            document.getElementById(id).innerHTML = "";
            if (200 == http.status) {                
                result = http.responseText;
            }

            if (result != "true") {
                var content = "<font color=\"#FF3366\">Invalid Email</font>";
                document.getElementById(id).innerHTML = content;
            }
        }
    }
    
    http.send(parameters);
}


function validatePassword(id, str) {
    var servlet = "validateRegistration";
    var parameters = "Command=validatePassword&pwd=" + encodeURIComponent(str);
    var url = base_url + servlet;

    document.getElementById(id).innerHTML = "";
    http.open("POST", url, true);
    http.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
    http.setRequestHeader("Content-length", parameters.length);
    http.setRequestHeader("Connection", "close");

    http.onreadystatechange=function() {
        result = "error"
        if (4 == http.readyState) {
            document.getElementById(id).innerHTML = "";
            if (200 == http.status) {
                result = http.responseText;
            } else {
                result = "error";
            }

            if (result != "true") {
                var content = "<font color=\"#FF3366\">Bad Password</font>";
                document.getElementById(id).innerHTML = content;
            }
        }
    }
    
    http.send(parameters);
}

function registerUser(inviteCode, eid, emailAddr, ipwd, pwd, icpwd, confPwd, agreed) {
    var servlet = "validateRegistration";
    var parameters = "Command=registerUser&inviteCode=" + 
        encodeURIComponent(inviteCode) + "&" +
        "emailAddr=" + encodeURIComponent(emailAddr) + "&" +
        "pwd=" + encodeURIComponent(pwd) + "&" +
        "confPwd=" + encodeURIComponent(confPwd);
    var url = base_url + servlet;
    var content;

    result = "error";
    if (!agreed) {
        alert("Sorry, we cannot create an account for you unless you agree " +
            "to the terms and conditions linked to this page.")
        return;
    }
    document.getElementById('result').innerHTML = "Please wait ...";

    http.open("POST", url, true);
    http.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
    http.setRequestHeader("Content-length", parameters.length);
    http.setRequestHeader("Connection", "close");

    http.onreadystatechange=function() {
        if (http.readyState == 4) {
            if(200 == http.status) {
                result = http.responseText;
            } else {
                result = "error";
            }

            if("false" == result || "error" == result) {
                content = "<font color = \"#FF3366\">Registration failed.</font>";
            } else {
                content = "Registration succeeded. Please sign in.";
            }

            document.getElementById('result').innerHTML = content;
            document.getElementById('username').value = emailAddr;
            setTimeout('clearAll()', 3500);;
        }
    }
    http.send(parameters);
}