!function(){var n=function(e,r){return $("#msg").attr("trspan",e),$("#msg").html(window.translate(e)),$("#color").removeClass("message-positive message-warning message-danger alert-success alert-warning alert-danger"),$("#color").addClass("message-"+r),"positive"===r&&(r="success"),$("#color").addClass("alert-"+r)},a=function(e,r,t){if(console.log("Error",t),(t=JSON.parse(e.responseText))&&t.error)return t=t.error.replace(/.* /,""),console.log("Returned error",t),n(t,"danger")},e=function(){if(webauthnJSON.supported())return $.ajax({type:"POST",url:portal+"2fregisters/webauthn/registrationchallenge",data:{},dataType:"json",error:a,success:function(r){var e={publicKey:r.request},t=jQuery.Event("webauthnRegistrationAttempt");if($(document).trigger(t),!t.isDefaultPrevented())return n("webAuthnRegisterInProgress","warning"),$("#u2fPermission").show(),webauthnJSON.create(e).then(function(e){if(t=jQuery.Event("webauthnRegistrationSuccess"),$(document).trigger(t,[e]),!t.isDefaultPrevented())return $.ajax({type:"POST",url:portal+"2fregisters/webauthn/registration",data:{state_id:r.state_id,credential:JSON.stringify(e),keyName:$("#keyName").val()},dataType:"json",success:function(e){return e.error?e.error.match(/badName/)?n(e.error,"danger"):n("webAuthnRegisterFailed","danger"):e.result&&(t=jQuery.Event("mfaAdded"),$(document).trigger(t,[{type:"webauthn"}]),!t.isDefaultPrevented())?window.location.href=window.portal+"2fregisters?continue=1":void 0},error:a})},function(e){if(t=jQuery.Event("webauthnRegistrationFailure"),$(document).trigger(t,[e]),!t.isDefaultPrevented())return n("webAuthnBrowserFailed","danger")})}});n("webAuthnUnsupported","warning")},r=function(){if(webauthnJSON.supported())return $.ajax({type:"POST",url:portal+"2fregisters/webauthn/verificationchallenge",data:{},dataType:"json",error:a,success:function(r){var e={publicKey:r.request};return n("webAuthnBrowserInProgress","warning"),webauthnJSON.get(e).then(function(e){return $.ajax({type:"POST",url:portal+"2fregisters/webauthn/verification",data:{state_id:r.state_id,credential:JSON.stringify(e)},dataType:"json",success:function(e){return e.error?n("webAuthnFailed","danger"):e.result?n("yourKeyIsVerified","positive"):void 0},error:a})}).catch(function(e){return n("webAuthnBrowserFailed","danger")})}});n("webAuthnUnsupported","warning")};$(document).ready(function(){return $("#u2fPermission").hide(),$("#register").on("click",e),$("#verify").on("click",r),setTimeout(e,1e3),$("#retrybutton").on("click",e),$("#goback").attr("href",portal)})}.call(this);