﻿jQuery(document).ready(function() {

    jQuery("#aResetCancel", jQuery("#divResetModal")).click(function() {
        jQuery("#divResetModal").dialog("close");
        return false;
    });
});

//Open modal.  Check to see if there are challenge questions.  Display proper response.
function showResetModal() {
    clearForm();
    var resetType = jQuery("input[id$=inputResetType]").val();
    var baseUrl = jQuery("input[id$=inputBaseUrl]").val();
    var accountID = jQuery("input[id$=accountID]").val();
        
    //Open modal    
    jQuery("#divResetModal").dialog({
        autoOpen: true,
        bgiframe: true,
        width: 700,
        height: 400,
        modal: true,
        title: "Reset " + resetType,
        closeOnEscape: true,
        close: function(ev, ui) {
        },
        open: function(ev, ui) {
            jQuery(this).fadeIn(100);
        },
        overlay: {
            backgroundColor: '#000',
            opacity: 0.5
        },
        position: ['center', 100]
    }).removeAttr("style");

    //Check for challenge questions
    jQuery.ajax({
        type: "POST",
        contentType: "application/json; charset=utf-8",
        url: baseUrl + "services/PasswordPinReset.asmx/HasChallengeQuestions",
        data: "{'accountID':'" + escape(accountID) + "'}",
        dataType: "json",
        success: function(result) {
            if (result.d == "false") {
                jQuery("#divNoChallengeQuestions").show();
            }
            else {
                jQuery("#divChallengeQuestions").show();
            }
        },
        error: function(xhr, ajaxOptions, thrownError) {
            alert(xhr.status);
            alert(thrownError);
        }

    });
}

//Verify the Challenge question response
function verifyChallenge() {
    
    var baseUrl = jQuery("input[id$=inputBaseUrl]").val();
    var accountID = jQuery("input[id$=accountID]").val();
    var firstAnswer = jQuery("input[id$=inputAnswer1]").val();
    var firstID = jQuery("input[id$=inputQuestion1ID]").val();
    var secondAnswer = jQuery("input[id$=inputAnswer2]").val();
    var secondID = jQuery("input[id$=inputQuestion2ID]").val();

    jQuery.ajax({
        type: "POST",
        contentType: "application/json; charset=utf-8",
        url: baseUrl + "services/PasswordPinReset.asmx/VerifyChallengeAnswers",
        data: "{'firstAnswer':'" + escape(firstAnswer) + "','firstID':'" + escape(firstID) + "','secondAnswer':'" + escape(secondAnswer) + "','secondID':'" + escape(secondID) + "','accountID':'" + escape(accountID) + "'}",
        dataType: "json",
        success: displayChallengeResult,
        error: function(xhr, ajaxOptions, thrownError) {
            alert(xhr.status);
            alert(thrownError);
        }
    });
}

//Handle the challenge question response
function displayChallengeResult(response) {
    //debugger;
    var resetType = jQuery("input[id$=inputResetType]").val();
        
    if (response.d == false) {
        jQuery("#divInvalidChallengeAnswer").show();        
    }
    else {
    jQuery("#divChallengeQuestions").hide();
    if (resetType == "Pin") {
        jQuery("#divResetPin").show();
    }
    else {
        jQuery("#divChallengeQuestions").show();
    }
        
    }
}

//Reset Password and close modal
function resetPassword() {
    jQuery("#divResetModal").dialog("close");
    return false;
}

//Reset Pin Number
function resetPin() {
    //debugger;
    var baseUrl = jQuery("input[id$=inputBaseUrl]").val();
    var accountID = jQuery("input[id$=accountID]").val();
    var pin = jQuery("input[id$=txtPin]").val();
    var pinVerify = jQuery("input[id$=txtVerifyPin]").val();

    if (Page_IsValid){
        jQuery.ajax({
            type: "POST",
            contentType: "application/json; charset=utf-8",
            url: baseUrl + "services/PasswordPinReset.asmx/ResetPin",
            data: "{'accountID':'" + escape(accountID) + "','pinNumber':'" + escape(pin) + "'}",
            dataType: "json",
            success: cancelResetRequest,
            error: function(xhr, ajaxOptions, thrownError) {
                alert(xhr.status);
                alert(thrownError);
            }
        });
    }

    else {
        
    }
}

//Close modal
function cancelResetRequest() {
    jQuery("#divResetModal").dialog("close");
    return false;
}

//Clear textbox elements when opening form
function clearForm() {
    //debugger;
    var Answer1 = jQuery("input[id$=inputAnswer1]");
    var Answer2 = jQuery("input[id$=inputAnswer2]");
    var pin1 = jQuery("input[id$=txtPin]");
    var pin2 = jQuery("input[id$=txtVerifyPin]");
    Answer1.val('');
    Answer2.val('');
    pin1.val('');
    pin2.val('');
    
}


