window.rcmail&&rcmail.addEventListener("init",function(a){"settings"==rcmail.env.task?(rcmail.gui_objects.keyslist&&(rcmail.keys_list=new rcube_list_widget(rcmail.gui_objects.keyslist,{multiselect:!0,draggable:!1,keyboard:!1}),rcmail.keys_list.addEventListener("select",function(a){rcmail.enigma_keylist_select(a)}).addEventListener("keypress",function(a){rcmail.enigma_keylist_keypress(a)}).init().focus(),rcmail.enigma_list(),rcmail.register_command("firstpage",function(a){return rcmail.enigma_list_page("first")}), rcmail.register_command("previouspage",function(a){return rcmail.enigma_list_page("previous")}),rcmail.register_command("nextpage",function(a){return rcmail.enigma_list_page("next")}),rcmail.register_command("lastpage",function(a){return rcmail.enigma_list_page("last")})),"plugin.enigmakeys"==rcmail.env.action&&(rcmail.register_command("search",function(a){return rcmail.enigma_search(a)},!0),rcmail.register_command("reset-search",function(a){return rcmail.enigma_search_reset(a)},!0),rcmail.register_command("plugin.enigma-import", function(){rcmail.enigma_import()},!0),rcmail.register_command("plugin.enigma-key-export",function(){rcmail.enigma_export()}),rcmail.register_command("plugin.enigma-key-export-selected",function(){rcmail.enigma_export(!0)}),rcmail.register_command("plugin.enigma-key-import",function(){rcmail.enigma_key_import()},!0),rcmail.register_command("plugin.enigma-key-delete",function(a){return rcmail.enigma_delete()}),rcmail.register_command("plugin.enigma-key-create",function(a){return rcmail.enigma_key_create()}, !0),rcmail.register_command("plugin.enigma-key-save",function(a){return rcmail.enigma_key_create_save()},!0),rcmail.addEventListener("responseafterplugin.enigmakeys",function(){rcmail.enable_command("plugin.enigma-key-export",0 option").filter(":selected").text();var c=$("#key-pass").val(),d=$("#key-pass-confirm").val(),e=$("#key-size").val();if(!c||!d)return alert(this.get_label("enigma.formerror"));if(c!=d)return alert(this.get_label("enigma.passwordsdiffer"));if(a.match(/^<[^>]+>$/))return alert(this.get_label("enigma.nonameident"));window.openpgp&&window.crypto&&(window.crypto.getRandomValues||window.crypto.subtle)?(b=this.set_busy(!0, "enigma.keygenerating"),a={numBits:e,userId:a,passphrase:c},openpgp.generateKeyPair(a).then(function(a){rcmail.http_post("plugin.enigmakeys",{_a:"import",_keys:a.privateKeyArmored},b)},function(a){rcmail.set_busy(!1,null,b);rcmail.display_message(rcmail.get_label("enigma.keygenerateerror"),"error")})):rcmail.env.enigma_keygen_server?(b=this.set_busy(!0,"enigma.keygenerating"),a={_a:"generate",_user:a,_password:c,_size:e},rcmail.http_post("plugin.enigmakeys",a,b)):rcmail.display_message(rcmail.get_label("enigma.keygennosupport"), "error")};rcube_webmail.prototype.enigma_key_create_success=function(){parent.rcmail.enigma_list(1)};rcube_webmail.prototype.enigma_delete=function(){var a=this.keys_list.get_selection();if(a.length&&confirm(this.get_label("enigma.keyremoveconfirm"))){var b=this.display_message(this.get_label("enigma.keyremoving"),"loading");this.http_post("plugin.enigmakeys",{_a:"delete",_keys:a},b)}}; rcube_webmail.prototype.enigma_export=function(a){var b=!1,c=this.keys_list;a=a?c.get_selection().join(","):"*";var d={_a:"export",_keys:a};if(a.length){"*"==a?b=!0:$.each(c.get_selection(),function(){if((flags=$(c.rows[this].obj).data("flags"))&&0<=flags.indexOf("p"))return b=!0,!1});if(b)return this.show_popup_dialog(this.get_label("enigma.keyexportprompt"),this.get_label("enigma.exportkeys"),[{text:this.get_label("enigma.onlypubkeys"),click:function(a){rcmail.goto_url("plugin.enigmakeys",d,!1, !0);$(this).remove()}},{text:this.get_label("enigma.withprivkeys"),click:function(a){d._priv=1;rcmail.goto_url("plugin.enigmakeys",d,!1,!0);$(this).remove()}}],{width:400});this.goto_url("plugin.enigmakeys",d,!1,!0)}}; rcube_webmail.prototype.enigma_import=function(){var a,b;if(a=this.gui_objects.importform)(b=document.getElementById("rcmimportfile"))&&!b.value?alert(this.get_label("selectimportfile")):(b=this.set_busy(!0,"importwait"),a.action=this.add_url(a.action,"_unlock",b),a.submit(),this.lock_form(a,!0))}; rcube_webmail.prototype.enigma_keylist_select=function(a){var b=a.get_single_selection(),c;b&&(c="&_action=plugin.enigmakeys&_a=info&_id="+b);this.enigma_loadframe(c);this.enable_command("plugin.enigma-key-delete","plugin.enigma-key-export-selected",0c.location.href.indexOf(this.env.blankpage)&&(c.location.href=this.env.blankpage):(this.env.frame_lock=this.set_busy(!0,"loading"),b.location.href=this.env.comm_path+"&_framed=1&"+a))}; rcube_webmail.prototype.enigma_search=function(a){!a&&this.gui_objects.qsearchbox&&(a=this.gui_objects.qsearchbox.value);if(a||this.env.search_request){a={_a:"search",_q:urlencode(a)};var b=this.set_busy(!0,"searching");this.env.current_page=1;this.enigma_loadframe();this.enigma_clear_list();this.http_post("plugin.enigmakeys",a,b)}return!1}; rcube_webmail.prototype.enigma_search_reset=function(a){a=this.env.search_request;this.reset_qsearch();a&&(this.enigma_loadframe(),this.enigma_clear_list(),this.enigma_list());return!1};rcube_webmail.prototype.enigma_list=function(a){var b={_a:"list"},c=this.set_busy(!0,"loading");this.env.current_page=a?a:1;this.env.search_request&&(b._q=this.env.search_request);a&&(b._p=a);this.enigma_clear_list();this.http_post("plugin.enigmakeys",b,c)}; rcube_webmail.prototype.enigma_list_page=function(a){"next"==a?a=this.env.current_page+1:"last"==a?a=this.env.pagecount:"prev"==a&&1'),e=$('
').appendTo(d),f=$("").attr({type:"password",size:30}).keypress(function(a){13==a.which&&(b.is_framed()?window.parent.$:$)(".ui-dialog-buttonpane button.mainaction:visible").click()}).appendTo(d);a.key=a.keyid;8").attr({method:"post",action:a.action||location.href,style:"display:none"}).append($("").attr({type:"hidden",name:"_keyid",value:a.key})).append($("").attr({type:"hidden",name:"_passwd",value:a.password})).append($("").attr({type:"hidden",name:"_token",value:this.env.request_token})).append($("").attr({type:"hidden", name:"_unlock",value:b}));$.each(a,function(a,b){0==a.indexOf("input")&&c.append($("").attr({type:"hidden",name:a.substring(5),value:b}))});a.iframe&&(a="enigma_frame_"+(new Date).getTime(),$("