var recoverViewModel_current,recoverViewModel=function(){var n=this;this.user=ko.observable().extend({required:!0});this.showDeployerLink=ko.observable();this.deployerUrl=ko.observable();this.passwordTips=ko.observableArray();this.fromPA=ko.observable(!1);this.step=ko.observable(1);this.resetKey=ko.observable();this.forcedReset=ko.observable(!1);this.returnUrl=ko.observable();this.securityQuestion=ko.observable();this.securityAnswer=ko.observable().extend({required:!0});this.password=ko.observable().extend({required:!0,maxLength:100,minLength:8,dtsPasswordPattern:!0,dtsPasswordAllowed:!0});this.passwordConfirm=ko.observable().extend({required:!0,validation:{validator:function(t){return t===n.password()},message:"The passwords do not match."}});this.errorMessage=ko.observable();this.userValidation=ko.validatedObservable([n.user]);this.secQValidation=ko.validatedObservable([n.securityAnswer]);this.resetValidation=ko.validatedObservable([n.password,n.passwordConfirm]);this.sendLink=function(){n.errorMessage(null);n.userValidation.isValid()?$.post_dtsWait(DTS.Responder.sitePath+"Account/SendResetLink",{user:n.user(),fromPA:n.fromPA()}).done(function(t){t.success?n.step("1a"):n.errorMessage(t.message)}):n.userValidation.errors.showAllMessages()};this.resetNow=function(){n.errorMessage(null);n.userValidation.isValid()?$.post_dtsWait(DTS.Responder.sitePath+"Account/RecoverUser",{user:n.user()}).done(function(t){t.success?(n.securityQuestion(t.question),n.resetKey(t.key),n.step(2)):n.errorMessage(t.message)}).fail(function(n){var t=DTS.Responder.Util.extractErrorMessageFromXhrResponseText(n)}):n.userValidation.errors.showAllMessages()};this.validateAnswer=function(){n.errorMessage(null);n.secQValidation.isValid()?$.post_dtsWait(DTS.Responder.sitePath+"Account/ValidateSecurityAnswer",{key:n.resetKey(),answer:n.securityAnswer()}).done(function(t){t.success?n.step(3):n.errorMessage(t.message)}):n.secQValidation.errors.showAllMessages()};this.submit=function(){if(n.errorMessage(null),n.resetValidation.isValid()){var t=n.forcedReset()?"Account/ResetPasswordRequired":"Account/ResetPassword";$.post_dtsWait(DTS.Responder.sitePath+t,{ResetKey:n.resetKey(),SecurityAnswer:n.securityAnswer(),Password:n.password(),ConfirmPassword:n.passwordConfirm()}).done(function(t){if(t.success){if(n.step("3a"),n.fromPA()){var i=DTS.Responder.WaitModal.show("Please wait while we sync your credentials",1);setTimeout(function(){i.dismiss();window.location.href="http://pagrants.fema.gov"},15e3)}}else n.errorMessage(t.message)})}else n.resetValidation.errors.showAllMessages()};this.login=function(){var t=$('#fakeForm > input[name="__RequestVerificationToken"]').val();$.post_go(DTS.Responder.sitePath+"Account/Login",{Username:n.user(),Password:n.password(),returnUrl:n.returnUrl(),__RequestVerificationToken:t})};this.activate=function(){var i=[],t;return i.push(DTS.Responder.ajaxGet(DTS.Responder.sitePath+"Account/GetRecoverData").done(function(t){n.deployerUrl(t.deployerUrl);n.passwordTips(t.tips)})),t=DTS.Responder.Util.getQueryArgs(),n.showDeployerLink(!!t.FromDeployer),n.fromPA(t.frompa==="true"),(t.key||t.force)&&(n.resetKey(t.key),n.step(3),n.forcedReset(!!t.force),n.returnUrl(t.returnUrl),i.push($.post_dtsWait(DTS.Responder.sitePath+"Account/GetResetKeyData",{key:t.key}).done(function(t){t.username?(n.user(t.username),n.securityQuestion(t.securityQuestion)):(n.errorMessage("Your password reset key is invalid or expired."),n.step(0))}))),$.when.apply($,i)}};$(function(){recoverViewModel_current=new recoverViewModel;recoverViewModel_current.activate().then(function(){ko.applyBindings(recoverViewModel_current);$("#Password").pwstrength({common:{minChar:1,keyUpDelay:200},ui:{showPopover:!0,showProgressBarInPopover:!0}});$(".form-fix input").keydown(function(n){if(n.keyCode==13){n.preventDefault();$(n.target).trigger("change");var t=$(n.target).closest(".form-fix"),i=t.find("button.btn-primary:visible").first();return i.trigger("click"),!1}});$("input").keypress(function(n){n.which==60&&(n.preventDefault(),alert("Angle brackets are not allowed in input fields."))}).change(function(){var n=$(this).val();n&&n.indexOf("<")>-1&&(alert("Angle brackets are not allowed in input fields."),$(this).val(n.replace(/\</g,"")))})})})