﻿function configObj(c) {
    var o = { 
        // Default Configuration
        companyName: 'OnDemand',
        urlValidateUserDetails: '../../Login/ValidateUserDetailsForOnDemand',
        urlResetPassword: '../../Login/ResetPassword'
    }
    if (c) for (var n in c) o[n] = c[n];
    return o;
}
var opts = configObj(viewConfig);

var win;
var passWindow;
var PromptPasswindow;   
        
function showPasswordWindow(tar) {
    if (!passWindow) {
        passWindow = new Ext.Window({
            title: 'Forgot Password',
            layout: 'fit',
            width: 450,
            height: 480,
            closeAction: 'hide',
            plain: true,
            modal: true,
            autoScroll: true,
            contentEl: 'ForgotPassword'

        });
    }
    document.getElementById("txt_PassUserName").value = "";
    document.getElementById("txt_UserAns").value = "";
    document.getElementById("txt_UserEmail").value = "";
    document.getElementById("txt_NewPassword").value = "";
    document.getElementById("txt_ConfirmNewPass").value = "";
    document.getElementById("PromptErrors").innerHTML = "";
    document.getElementById("resetPassValidation").innerHTML = "";
    document.getElementById("resetPanel").style.display = "block";
    document.getElementById("validationPanel").style.display = "block";
    passWindow.show(tar);
 }

 function showPromptPasswordWindow(tar) {
    if (!PromptPasswindow) {
        PromptPasswindow = new Ext.Window({
            title: 'Set Password',
            layout: 'fit',
            width: 240,
            height: 290,
            closeAction: 'hide',
            plain: true,
            modal: true,
            autoScroll: true,
            contentEl: 'PromptPwdForm'

        });
    }
    document.getElementById("txt_NewPassword").value = "";
    document.getElementById("txt_ConfirmNewPass").value = "";
    document.getElementById("PromptErrors").innerHTML = "";
    document.getElementById("promptPwdDiv").style.display = "block";
    PromptPasswindow.show(tar);
 }

 var btnSecurityStep = new Ext.Button({
     text: 'Submit',
     renderTo: "btn_ValidateSubmit",
     width: 50,
     handler: function(btn) {
         var request = Ext.Ajax.request({
         url: opts.urlValidateUserDetails,
             method: 'POST',
             params: { userName: document.getElementById('txt_PassUserName').value,
                 company: opts.companyName,
                 securityQuestionid: document.getElementById('SecurityQuestion').value,
                 securityAnswer: document.getElementById('txt_UserAns').value,
                 email: document.getElementById('txt_UserEmail').value

             },
             success: function(result, request) {
                 var result = Ext.util.JSON.decode(result.responseText);
                 if (result.list[0] == true) {
                     passWindow.hide();
                     if (result.list.length > 2 && result.list[2] == "ForEmail")
                         Ext.Msg.alert('', 'Your password is successfully reset and sent to your E-mail address ' + document.getElementById('txt_UserEmail').value);
                     else {

                         showPromptPasswordWindow();
                     }
                 } else {
                     document.getElementById("resetPassValidation").innerHTML = "<ul class='validation-summary-errors'><li>" + result.list[1] + "</li></ul>";
                 }
             }
         });
     }
 });

var btnPromptSubmit = new Ext.Button({
    text: 'Submit',
    renderTo: "btn_PromptSubmit",
    width: 50,
    handler: function(btn) {
        var request = Ext.Ajax.request({
            url: opts.urlResetPassword, 
            method: 'POST',
            params: { username: document.getElementById('txt_PassUserName').value,
                company:opts.companyName,
                newPassword: document.getElementById('txt_NewPassword').value,
                confirmPassword: document.getElementById('txt_ConfirmNewPass').value

            },
            success: function(result, request) {
                var result = Ext.util.JSON.decode(result.responseText);
                if (result.list[0] == true) {
                    document.getElementById("PromptErrors").innerHTML = "";
                    document.getElementById("txt_NewPassword").value = "";
                    document.getElementById("txt_ConfirmNewPass").value = "";
                    document.getElementById("promptPwdDiv").style.display = "none";
                    passWindow.hide();
                    PromptPasswindow.hide();

                    Ext.Msg.alert('', 'Your password has been changed successfully.');

                } else {
                    document.getElementById("PromptErrors").innerHTML = "<ul class='validation-summary-errors'><li> " + result.list[1] + " </li></ul>";
                }
            }
        });
    }
});
    
var btnclose = new Ext.Button({
    text: 'Close',
    renderTo: "btn_ValidateClose",
    handler: function(btn) {
        document.getElementById("txt_PassUserName").value = "";
        document.getElementById("txt_UserAns").value = "";
        document.getElementById("txt_NewPassword").value = "";
        document.getElementById("txt_ConfirmNewPass").value = "";
        document.getElementById("PromptErrors").innerHTML = "";
        document.getElementById("resetPassValidation").innerHTML = "";
        passWindow.hide();
    }
});

var btnpromptclose = new Ext.Button({
    text: 'Close',
    renderTo: "btn_PromptClose",
    handler: function(btn) {
        document.getElementById("txt_PassUserName").value = "";
        document.getElementById("txt_UserAns").value = "";
        document.getElementById("txt_NewPassword").value = "";
        document.getElementById("txt_ConfirmNewPass").value = "";
        document.getElementById("PromptErrors").innerHTML = "";
        document.getElementById("resetPassValidation").innerHTML = "";
        document.getElementById("resetPanel").style.display = "block";
        PromptPasswindow.hide();
    }
});

