/* Forgotpassword uses jQuery to Run. */

// Set the code that runs when the page is ready
$(document).ready(function () {
                      // Add events
                      $('#next').click(resetPassword);
                      $('#myloginid').focus();
                  });

// This function updates the user information
function resetPassword() {
    // Get the for data
    var username = $('#myusername').val();
    var password1 = $('#mypassword1').val();
    var password2 = $('#mypassword2').val();
    var question = $('#mysecretquestion').val();
    var answer = $('#mysecretanswer').val();

    // Make sure we have the data we want
    if (username.length < 1) {
        showFaderMsg({msg: 'A Username is required. [GT_E0169]',
                      msgContainer: '#errMsg', msgIsErr: true, pauseDur:15000});
        $('#myusername').focus();
        return;
    }

    if ((password1.length > 0) || (password2.length > 0)) {
        if ((password1.length < 1) || (password2.length < 1)) {
            showFaderMsg({msg: 'Both Password fields are required. [GT_E0312]',
                          msgContainer: '#errMsg', msgIsErr: true, pauseDur:15000});
            $('#mypassword1').focus();
            return;
        }
    }

    if (question.length < 1) {
        showFaderMsg({msg: 'A Question is required. [GT_E0313]',
                      msgContainer: '#errMsg', msgIsErr: true, pauseDur:15000});
        $('#mysecretquestion').focus();
        return;
    }

    if (answer.length < 1) {
        showFaderMsg({msg: 'An Answer is required. [GT_E0314]',
                      msgContainer: '#errMsg', msgIsErr: true, pauseDur:15000});
        $('#mysecretanswer').focus();
        return;
    }

    // Update the user
    jQuery.getJSON(BASEURL+'users/resetPassword',
                   {userid: UID, loginid: username, pword1: password1, pword2: password2,
                   question: question, answer: answer, syn: SYN, ack: ACK,
                   synlist:genS(['userid','pword1','pword2','question','answer']),
                   acklist:genH(UID + password1 + password2 + question + answer),
                   rand: Math.random()},
                   function(data, textStatus) {
                       // Decode the JSON
                       results = data;

                       // Check to make sure there was no error
                       if (!results.success) {
                           // Show a message
                           showFaderMsg({msg: 'The password could not be reset.&nbsp;[' + results.errorNumber + ']&nbsp;' + results.extendedText,
                                        msgContainer: '#errMsg', msgIsErr: true, pauseDur:15000});
                           return;
                       }

                       // The password should now be updated.
                       showFaderMsg({msg: 'The password has been reset.',
                                    msgContainer: '#errMsg', msgIsErr: false});
                   });
}
