var user = "Anonymous";
var anonuser = "Anonymous";
var accountPrefix = "/ags/HLAAuthentication-war/";
function setHLAUserFrame() {
    //new Ajax.Request('WhoAmI.jsp',{ method:'get', onSuccess: gotUser, onFailure: gotError});
    new Ajax.Updater('hlauser', accountPrefix+'WhoAmI.jsp', { method: 'get' });
}

function gotUser(transport) {
    var response = transport.responseText;
    user = response;
    updateUser();
}

function gotError() {
    alert("Something blew up");
}

function hlaLogin() {
    var usr = document.getElementById("loginUser");
    if (usr.value == '')  {
        alert("Must specify a user name");
        return;
    }
    var pass = document.getElementById("loginPassword");
    if (pass.value == '') {
        alert("Must specify a password");
        return;
    }
    var remember = document.getElementById("remember");
    var r = remember.checked;
    new Ajax.Request(accountPrefix+'Login.jsp',{ method:'post', parameters: {userName: usr.value , password: pass.value, remember: r}, onSuccess: setHLAUserFrame, onFailure: errorLogin});
}
function manageUser() {
    var div = document.getElementById("hlauser");
    new Ajax.Updater('hlauser', accountPrefix+'Manage.html', { method: 'get' });
}

function errorLogin() {
    alert("Invalid Login");
    setHLAUserFrame();
}

function errorNewUser() {
    alert("Requested User Name not available");
    setHLAUserFrame();
}
function errorChangePass() {
    alert("Username/Password not correct");
    setHLAUserFrame();
}
function errorChangeEmail() {
    alert("Username/Password not correct");
    setHLAUserFrame();
}
function errorRecover() {
    alert("Username does not exist or \ndoes not have a registered email address");
    setHLAUserFrame();
}

function loginUser() {
    new Ajax.Updater('hlauser', accountPrefix+'Login.html', { method: 'get' });
}
function hlaLogout() {
    user="Anonymous";
    new Ajax.Request(accountPrefix+'Logout.jsp',{ method:'get', onSuccess: setHLAUserFrame, onFailure: errorLogin});
}

function hlaNewUser() {
    var usr = document.getElementById("newUser");
    if (usr.value=='') {
        alert("Must specify a user name");
        return;
    }
    var pass = document.getElementById("newPassword");
    if (pass.value == '') {
        alert("Must specify a password");
        return;
    }
    var pass2= document.getElementById("newPasswordConfirm");
    if (pass.value == pass2.value) {
        var email= document.getElementById("newEmail");
        new Ajax.Request(accountPrefix+'NewUser.jsp',{ method:'post', parameters: {userName: usr.value , password: pass.value, email: email.value}, onSuccess: setHLAUserFrame, onFailure: errorChangePass});
    } else {
        alert("Passwords do not match");
    }
    
}   

function hlaPass() {
    var usr = document.getElementById("changePassUser");
    if (usr.value=='') {
        alert("Must specify a user name");
        return;
    }
    var opass = document.getElementById("changePassOldPassword");
    if (opass.value == '') {
        alert("Must specify an original password");
        return;
    }
    var npass = document.getElementById("changePassNewPassword");
    if (npass.value == '') {
        alert("Must specify a new password");
        return;
    }
    new Ajax.Request(accountPrefix+'changePass.jsp',{ method:'post', parameters: {userName: usr.value , oldPassword: opass.value, newPassword: npass.value}, onSuccess: setHLAUserFrame, onFailure: errorNewUser});
}

function hlaEmail() {
    var usr = document.getElementById("changeEmailUser");
    if (usr.value=='') {
        alert("Must specify a user name");
        return;
    }
    var pass = document.getElementById("changeEmailPassword");
    if (pass.value == '') {
        alert("Must specify a password");
        return;
    }
    var email = document.getElementById("changeEmailEmail");
    if (email.value == '') {
        alert("Must specify a new email address");
        return;
    }
    new Ajax.Request(accountPrefix+'changeEmail.jsp',{ method:'post', parameters: {userName: usr.value , password: pass.value, email: email.value}, onSuccess: setHLAUserFrame, onFailure: errorChangeEmail});
}

function hlaRecoverPass() {
    var usr = document.getElementById("recoverUser");
    if (usr.value=='') {
        alert("Must specify a user name");
        return;
    }
        new Ajax.Request(accountPrefix+'resetPass.jsp',{ method:'post', parameters: {userName: usr.value}, onSuccess: setHLAUserFrame, onFailure: errorRecover});
}

function showNewAccout() {
    var l = document.getElementById("Login");
    l.style.visibility="hidden";
    l.style.display="none";
    var d = document.getElementById("NewAccount");
    d.style.visibility="visible";
    d.style.display="";
    
}

function showPasswordRecovery() {
    var l=document.getElementById("Login");
    l.style.visibility="hidden";
    l.style.display="none";
    var d = document.getElementById("RecoverPass");
    d.style.visibility="visible";
    d.style.display="";
}