/* Minification failed. Returning unminified contents.
(1,1): run-time error CSS1019: Unexpected token, found '$'
(1,2): run-time error CSS1019: Unexpected token, found '('
(1,11): run-time error CSS1031: Expected selector, found ')'
(1,11): run-time error CSS1025: Expected comma or open brace, found ')'
(187,2): run-time error CSS1019: Unexpected token, found ')'
 */
$(document).ready(function () {
    // Initialization
    $("#dv-pb").hide();

    // Filter User
    $("#btn-submitpw").off("click").on("click", function (e) {
        e.preventDefault();
        var vActive = chkActiveSess();

        if (vActive) {
            valUsrChgPw();
        }
        else {
            logOffLpai();
        }
    });

    // Log Off
    function logOffLpai() {
        alert("Session Expired. Please re-login");
        $("#a-logoff")[0].click();
    }

    // Check Active Session
    function chkActiveSess() {
        var vActive = true;

        try {
            // Submit
            $.ajax({
                type: "POST",
                url: "/Lpai/chkSession",
                cache: false,
                async: false,
                //dataType: "json",
                //contenType: "application/json; charset=utf-8",
                //data: {
                //    param1: paramvalue
                //},
                beforeSend: function () {
                    $("#lbl-pb").text("INITIALIZING");
                },
                success: function (result) {
                    vActive = result;
                },
                error: function (xhr, status, errorThrown) {
                    vActive = false;
                }
            });
        }
        catch (vErr) {
            vActive = false;
        }

        return vActive;
    }

    function valUsrChgPw() {
        // Get Values
        var vResult = "S";

        try {
            var vValPwData = new FormData($("#frm-chgpw")[0]);

            $.ajax({
                type: "POST",
                url: "/Lpai/valUsrChgPw",
                processData: false,
                contentType: false,
                cache: false,
                async: true,
                //dataType: "json",
                //contenType: "application/json; charset=utf-8",
                data: vValPwData,
                beforeSend: function () {
                    $("#dv-pb").show();
                    $("#lbl-pb").text("VALIDATING PASSWORD");
                },
                success: function (result) {
                    $("#dv-pb").hide();

                    var vResult = $.trim(result);

                    // Initialize
                    if (vResult == "S") {
                        // Get Values
                        var vValid = validPwEntries();

                        if (vValid) {
                            savePw();
                        }
                        else {
                            alert("Please check required fields");
                        }
                    }
                    else {
                        alert(vResult);
                    }
                },
                error: function (xhr, status, errorThrown) {
                    $("#dv-pb").hide();
                }
            });
        }
        catch (vErr) {
            $("#dv-pb").hide();
        }

        return vResult;
    }

    // Clear Entries
    function clearPwEntries() {
        $("#dv-pwentries :input").each(function () {
            $(this).val("");
        });
    }

    // Submit
    function savePw() {
        // Get Values
        var vResult = "S";

        try {
            // Save Data
            var vSave = confirm("Change Password?");

            if (vSave) {
                var vPwData = new FormData($("#frm-chgpw")[0]);

                $.ajax({
                    type: "POST",
                    url: "/Lpai/savePw",
                    processData: false,
                    contentType: false,
                    cache: false,
                    async: true,
                    //dataType: "json",
                    //contenType: "application/json; charset=utf-8",
                    data: vPwData,
                    beforeSend: function () {
                        $("#dv-pb").show();
                        $("#lbl-pb").text("SAVING PASSWORD");
                    },
                    success: function (result) {
                        $("#dv-pb").hide();

                        var vResult = $.trim(result);

                        // Initialize
                        if (vResult == "S") {
                            clearPwEntries();
                            alert("Password Successfully Updated");
                        }
                        else {
                            alert(vResult);
                        }
                    },
                    error: function (xhr, status, errorThrown) {
                        $("#dv-pb").hide();
                    }
                });
            }
        }
        catch (vErr) {
            $("#dv-pb").hide();
        }

        return vResult;
    }

    // Validate Entries
    function validPwEntries() {
        var vValid = true;

        $("#dv-pwentries :input").each(function () {
            if ($(this).prop("required")) {
                if ($.trim($(this).val()) == "") {
                    vValid = false;
                    return vValid;
                }
            }
        });

        return vValid;
    }
});
