﻿/// <reference path="references.js" />


/***************
** VARIABLES ***
****************/

var jbtnResetPassword = $("");
var jdivResetPassword = $("");
var jtxbEmailResetPassword = $("");

/***************************
** REGION : INITIAL LOAD ***
****************************/

$(function() {
    jbtnResetPassword = $("#btnResetPassword");
    jbtnResetPassword.click(btnResetPassword_Click);
    jdivResetPassword = $("#divResetPassword");
    jtxbEmailResetPassword = $("#txbEmailResetPassword");

    jdivResetPassword.dialog({
        autoOpen: false,
        bgiframe: true,
        buttons: {
            "OK": EndResetPassword
        },
        closeOnEscape: true,
        draggable: true,
        height: 185,
        width: 350,
        modal: true,
        resizable: false,
        title: "Reset Password"
    })
});

/*****************************
** REGION : EVENT HANDLERS ***
******************************/

function btnResetPassword_Click(evt) {
    ResetPassword(evt);
}


/**********************
** REGION : METHODS ***
***********************/
function ResetPassword() {
    jtxbEmailResetPassword.val("");
    jdivResetPassword.dialog("open");
    jtxbEmailResetPassword.focus();
}
function EndResetPassword() {
    var message = "";
    var email = $.trim(jtxbEmailResetPassword.val());
    if (email.length === 0 || (email.length > 0 && !ValEmailAddressVal(email))) {
        message = AppendLine(message, "The email address is not valid.");
    }

    if (message.length > 0) {
        ShowError("divError", "Error", message);
        return;
    }

    jbtnResetPassword.attr("disabled", true);
    jdivResetPassword.dialog("close");
    var dto = {
        email: email
    };

    WebServiceMethod("LoginService.asmx", "ResetPassword", dto,
        function(data, status) {
            if (data.d) {
                ShowInfo("divInfo", "Success", "The password for the staff member specified was reset. " +
                    "Please, check your mail for further instructions.", null, 350, 150);
            }
            else {
                ShowInfo("divInfo", "Failure", "The email address specified does not belong to a staff member " +
                    "for the current account, or the related staff member is not active.", null, 350, 150);
            }
            jbtnResetPassword.attr("disabled", false);
        },
        function(response, settings) {
            if (response.responseText != null) {
                ShowError("divError", "Error", JSON.parse(response.responseText).Message);
            }
            jbtnResetPassword.attr("disabled", false);
        });
}
