roundcube_themes/elastic/ui.min.js

131 lines
59 KiB
JavaScript

/**
* Roundcube webmail functions for the Elastic skin
*
* Copyright (c) The Roundcube Dev Team
*
* The contents are subject to the Creative Commons Attribution-ShareAlike
* License. It is allowed to copy, distribute, transmit and to adapt the work
* by keeping credits to the original autors in the README file.
* See http://creativecommons.org/licenses/by-sa/3.0/ for details.
*
* @license magnet:?xt=urn:btih:90dc5c0be029de84e523b9b3922520e79e0e6f08&dn=cc0.txt CC0-1.0
*/
/*
magnet:?xt=urn:btih:90dc5c0be029de84e523b9b3922520e79e0e6f08&dn=cc0.txt CC0-1.0
*/
function rcube_elastic_ui(){function t(a,b,e){(a=F(a))&&rcmail.register_button(a.command,b,a.data.type,e,a.data.sel)}function A(a,b,e,c){var f=!0,d=$("<a>"),h=a.attr("id")||(new Date).getTime(),g=h+"-clone";e=a[0].className+(e?" "+e:"");if(!b)e=$.trim(e.replace("btn-primary","primary").replace(/(btn[a-z-]*|button|disabled)/g,"")),e+=" button"+(c?"":" disabled");else if(c=a.data("popup"))d.data({popup:c,"toggle-button":a.data("toggle-button")}),N(d[0]),f=!1,rcmail.register_menu_button(d[0],c);d.attr({id:g,
href:"#","class":e}).append($('<span class="inner">').text(a.text()));if(f)d.on("click",function(l){a.click()});u&&!b?(d.data("target",a),ea.push($.extend({button_id:g},F(a[0].id)))):t(h,g,e.replace(" disabled",""));return d}function F(a){var b,e;for(e in rcmail.buttons)for(b=0;b<rcmail.buttons[e].length;b++){var c=rcmail.buttons[e][b];if(c.id==a)return{command:e,index:b,data:c}}}function K(){$("[data-list]").filter("ul,table").each(function(){var d,h=$(this),g=h.data("list");if(rcmail[g]&&rcmail[g].multiselect){var l=
h.parents("layout-sidebar,#layout-list,#layout-content").last();var m=l.find(".header");var p=m.find("ul");if(!p.length)p=m;else if(d=p.find("a.select").data("toggle-button"))d=$("#"+d);rcmail[g].enable_checkbox_selection();d||(d=$("<a>").attr({"class":"button selection disabled",role:"button",title:rcmail.gettext("select")}).on("click",function(){$(this).is(".active")&&h.toggleClass("withselection")}).append($('<span class="inner">').text(rcmail.gettext("select"))),p.is(".menu")?(d.prependTo(p).wrap('<li role="menuitem">'),
k.content&&(l=A(d,!0,"hidden-big hidden-large"),$('<li role="menuitem">').append(l).appendTo("#toolbar-menu"),d=d.add(l))):(m=h.data("list-select-replace"))?$(m).replaceWith(d):(d.appendTo(p).addClass("icon"),l.is("#layout-sidebar")||d.addClass("toolbar-button")));rcmail.addEventListener("listupdate",function(q){q.list&&q.list==rcmail[g]&&(q.rowcount?d.addClass("active").removeClass("disabled").attr("tabindex",0):d.removeClass("active").addClass("disabled").attr("tabindex",-1))})}T&&rcmail[g]&&("function"==
typeof rcmail[g].draggable?rcmail[g].draggable("destroy"):"boolean"==typeof rcmail[g].draggable&&(rcmail[g].draggable=!1))});window.MutationObserver&&$("[data-label-msg]").filter("ul,table").each(function(){var d=$('<div class="listing-info hidden">').insertAfter(this),h=$(this);var g=function(){var m=h.data("label-msg");var p=h.is("ul")?h:h.children("tbody");if(rcmail.env.search_request||rcmail.env.qsearch||!m||p.children(":visible").length)d.addClass("hidden");else{p=h.data("label-ext");var q=h.data("create-command");
!p||q&&!rcmail.commands[q]||(m+=" "+p);d.text(m).removeClass("hidden")}};var l=function(){if(rcmail.busy||!h.is(":visible"))return setTimeout(l,250);clearTimeout(n.list_timer);n.list_timer=setTimeout(g,50)};(new MutationObserver(l)).observe(h[0],{childList:!0,subtree:!0,attributes:!0,attributeFilter:["style"]});l()});"print"!=rcmail.env.action&&$("#attachment-list > li").each(function(){fa(this)});var a=function(d){"phone"==w&&rcmail.display_message(rcmail.gettext(d),"confirmation")};rcmail.addEventListener("fileappended",
function(d){d.attachment.complete&&(fa(d.item),"text/vcard"==d.attachment.mimetype&&rcmail.commands["attach-vcard"]&&a("vcard_attachments.vcardattached"))}).addEventListener("managesieve.insertrow",function(d){B(d.obj)}).addEventListener("add-recipient",function(){a("recipientsadded")});rcmail.init_pagejumper(".pagenav > input");if("mail"==rcmail.task){if("compose"==rcmail.env.action&&(rcmail.addEventListener("compose-encrypted",function(d){$("a.mode-html, button.attach").prop("disabled",d.active);
$("a.attach, a.responses:not(.edit)")[d.active?"addClass":"removeClass"]("disabled")}),$("#layout-sidebar > .footer:not(.pagenav) > a.button").click(function(){$(this).is(".disabled")&&rcmail.display_message(rcmail.gettext("nocontactselected"),"warning")}),window.MutationObserver)){var b=$("#attachment-list"),e=function(){ha("attach",0<b.children().length)};(new MutationObserver(e)).observe(b[0],{childList:!0});e()}rcmail.env.extwin||"compose"!=rcmail.env.action&&"show"!=rcmail.env.action||$("a.mail",
k.menu).attr({"aria-disabled":!1,onclick:"return rcmail.command('list','',this,event);"});"preview"!=rcmail.env.action&&"show"!=rcmail.env.action||$("a").filter('[href^="mailto:"]').each(function(){ta(this)})}else"settings"==rcmail.task&&(rcmail.addEventListener("identity-encryption-show",function(d){B(d.container)}),rcmail.addEventListener("identity-encryption-update",function(d){B(d.container)}));rcmail.set_env({thread_padding:"1.5rem",popup_width_small:1025,popup_width:1200});rcmail.env.devel_mode&&
window.less?less.pageLoadFinished.then(function(){O();rcmail.env.compose_focus_elem&&$(rcmail.env.compose_focus_elem).focus()}):O();var c=rcmail.env.date_format_localized;if(c){var f=function(d){$(d).filter(".datepicker").attr("placeholder",c);$(d).parent().find("select").each(function(){U(this)})};$("input.datepicker").each(function(){f(this)});rcmail.addEventListener("insert-edit-field",f)}}function B(a){a||(a=document);$("input.button,button",a).not(".btn").addClass("btn").not(".btn-primary,.primary,.mainaction").addClass("btn-secondary");
$("input.button.mainaction,button.primary,button.mainaction",a).addClass("btn-primary");$("button.btn.delete,button.btn.discard",a).addClass("btn-danger");$.each(["warning","error","information","confirmation"],function(){var f=this;$(".box"+f+":not(.ui.alert)",a).each(function(){V(this,f,!0)})});if(a!=document&&1==$(".popup",a).children().length){var b=$(".popup",a).children().first();if(b.is("img"))$(".popup",a).addClass("justified");else if(b.is("label")){var e=b.find("input").detach();b=b.detach();
var c=e.attr("id");c||e.attr("id",c="dialog-input-elastic");$(".popup",a).addClass("formcontent").append($('<div class="form-group row">').append(b.attr("for",c).addClass("col-sm-2 col-form-label")).append($('<div class="col-sm-10">').append(e)));e.focus()}}$("input:not(.button,.no-bs,[type=button],[type=radio],[type=checkbox]),textarea",$(".propform",a)).addClass("form-control");$("[type=checkbox]",$(".propform",a)).addClass("form-check-input");$("select",a).addClass("form-control custom-select");
a!=document&&$("input:not(.button,.no-bs,[type=button],[type=radio],[type=checkbox]),textarea",a).addClass("form-control");$("table.propform",a).each(function(){var f=0,d=0,h=["sm",4,8];$(this).attr("class").match(/cols-([a-z]+)-(\d)-(\d)/)&&(h=[RegExp.$1,RegExp.$2,RegExp.$3]);$(this).find("> tbody > tr, > tr").each(function(){var g=$(this),l=["form-group","row"];var m=g.children("td");if(2==m.length){var p=m.first();m=m.last();$("label",p).addClass("col-form-label");p.addClass("col-"+h[0]+"-"+h[1]);
m.addClass("col-"+h[0]+"-"+h[2]);1!=m.find("[type=checkbox]").length||m.find(".proplist").length?m.find("input:not([type=hidden]),textarea,radio,select").length?d++:(m.addClass("form-control-plaintext"),f++):(l.push("form-check"),m.find("a").length&&l.push("with-link"),d++);m.children(".datepicker")&&2==m.children("input").length&&m.addClass("datetime")}else 1==m.length&&m.css("width","100%");g.addClass(l.join(" "))});f>d&&$(this).addClass("text-only")});$("td.input-group",a).each(function(){$(this).children().slice(1).addClass("input-group-append")});
$("fieldset.propform:not(.groupped) div.row",a).each(function(){var f=0<$("input:not([type=hidden]),select,textarea",this).length;f&&$("input:not(.button,.no-bs,[type=button],[type=radio],[type=checkbox]),textarea",this).addClass("form-control");$(this).children().last().addClass("col-sm-8"+(f?"":" form-control-plaintext"));$(this).children().first().addClass("col-sm-4 col-form-label");$(this).addClass("form-group")});$("fieldset.propform.groupped fieldset",a).each(function(){$(".row",this).each(function(){var f=
0<$("input,select,textarea",this).length,d=$(this).children();f&&$("input:not(.button,.no-bs,[type=button],[type=radio],[type=checkbox]),textarea",this).addClass("form-control");if(!(2>d.length)){var h=d.first();h.is("select")?h.addClass("input-group-prepend"):h.wrap('<span class="input-group-prepend">').addClass("input-group-text");f||d.last().addClass("form-control-plaintext");$(".content",this).addClass("input-group-prepend input-group-append input-group-text");$("a.deletebutton",this).addClass("input-group-text icon delete").wrap('<span class="input-group-append">');
$(this).addClass("input-group")}})});$("fieldset.advanced",a).each(function(){var f=$(this).children(".propform").first();f.wrap($("<div>").addClass("collapse"));$(this).children("legend").first().addClass("closed").on("click",function(){f.parent().collapse("toggle");$(this).toggleClass("closed")})});$(".propform > .prop.block:not(.row)",a).each(function(){$(this).addClass("form-group row").each(function(){$("label",this).addClass("col-form-label").wrap($('<div class="col-sm-4">'));$("input,select,textarea",
this).wrap($('<div class="col-sm-8">'));$("input:not(.button,.no-bs,[type=button],[type=radio],[type=checkbox]),textarea",this).addClass("form-control")})});$("td.rowbuttons > a",a).addClass("btn");$("form.tabbed,div.tabbed",a).each(function(f,d){var h=[],g=$("<ul>").attr({"class":"nav nav-tabs",role:"tablist"});$(this).addClass("tab-content").children("fieldset").each(function(l,m){l=m.id||"tab"+f+"-"+l;var p=$(m).data("navlink-class");$(m).addClass("tab-pane").attr({id:l,role:"tabpanel"});l=$("<li>").addClass("nav-item").append($("<a>").addClass("nav-link"+
(p?" "+p:"")).attr({role:"tab",href:"#"+l}).text($("legend",m).first().text()).click(function(q){$(this).tab("show");G(q);return!1}));$("legend",m).first().hide();h.push(l)});g.append(h).insertBefore(d);$("a.nav-link",g).first().click()});$("input[type=file]:not(.custom-file-input)",a).each(function(){var f=rcmail.gettext("choosefile"+(this.multiple?"s":"")),d=$("<label>").attr({"class":"custom-file-label","data-browse":rcmail.gettext("browse")}).text(f);$(this).addClass("custom-file-input").wrap('<div class="custom-file">');
$(this).on("change",function(){var h=f;this.files.length&&(h=this.files[0].name,1<this.files.length&&(h+=", ..."));$(this).next().text(h)}).parent().append(d)});$("table:not(.table,.compact-table,.propform,.listing,.ui-datepicker-calendar)",a).filter(function(){return!$(this).parent().is(".propform")&&!$(this).parents(".message-htmlpart,.message-partheaders,.boxinformation,.raw-tables").length}).each(function(){var f=$(this).addClass("table");f.parent().addClass("table-responsive-sm");f.find("thead").addClass("thead-default")});
$("input.pretty-checkbox, .propform input[type=checkbox], .form-check input, .popupmenu.form input[type=checkbox], .menu input[type=checkbox]",a).each(function(){P(this)});$(a).is(".actionrow")&&$("input[type=checkbox]",a).each(function(){P(this)});$(".input-group-combo > select",a).first().on("change",function(){var f=$(this),d=function(){f[f.next().is(":visible")?"removeClass":"addClass"]("alone")};setTimeout(d,50);setTimeout(d,2E3)}).trigger("change");$("#message-objects",a).children(":not(.ui.alert)").add(".part-notice").each(function(){var f=
String($(this).removeClass("notice part-notice").attr("class")).split(/\s/)[0]||"warning";V(this,f);$(this).addClass("box"+f);$("a",this).addClass("btn btn-primary btn-sm")});$(".error",a).addClass("is-invalid");"login"==rcmail.env.task&&a==document&&($("#rcmloginsubmit").addClass("btn-lg text-uppercase w-100"),$("#login-form table tr").each(function(){var f=$("input,select",this),d=$("label",this),h=f.data("icon"),g=$("<i>").attr("class","input-group-text icon "+f.attr("name").replace("_",""));h&&
g.addClass(h);$(this).addClass("form-group row");d.parent().css("display","none");f.addClass(f.is("select")?"custom-select":"form-control").attr("placeholder",d.text()).before($('<span class="input-group-prepend">').append(g)).parent().addClass("input-group input-group-lg")}));$("select:not([multiple])",a).each(function(){U(this)})}function ua(a){if($(a).is(".mce-window")){var b=$(a).find(".mce-window-body"),e=$(a).find(".mce-foot > .mce-container-body");b.length&&B(b[0]);b.find("button").filter(function(){return 0<
$(this).parent(".mce-btn").length}).removeClass("btn btn-secondary");5===e.children(".mce-widget").length&&e.addClass("mce-search-foot");$(a).find(".mce-charmap").parent().parent().addClass("mce-charmap-dialog");$(a).find(".mce-combobox").each(function(){$(this).children(".mce-btn").length||$(this).addClass("mce-combobox-fake")});$(a).find(".mce-form > .mce-container-body").each(function(){4<$(this).children(".mce-formitem").length&&$(this).addClass("mce-form-split")});$(a).find(".mce-form").next(":not(.mce-formitem)").addClass("mce-form");
if(!y()){var c=0;e=b.height();$(a).find(".mce-form").each(function(){c=Math.max(c,$(this).height())});e<c&&(c+=(b.find(".mce-tabs").height()||0)+25,b.height(c),$(a).height($(a).height()+(c-e)),$(a).css("top",($(window).height()-$(a).height())/2+"px"))}}else $(a).is(".mce-menu")&&($(a).prepend($('<h3 class="popover-header">').append($('<a class="button icon "cancel">').text(rcmail.gettext("close")).on("click",function(){$(document.body).click()}))),window.MutationObserver&&(new MutationObserver(function(){"phone"==
w&&($(".mce-menu:visible").length?$("div.mce-overlay").length||$("<div>").attr("class","popover-overlay mce-overlay").appendTo("body").click(function(){$(this).remove()}):$("div.mce-overlay").click())})).observe(a,{attributes:!0}))}function va(a,b){if(a.match(/_action=(create|add)/)||a.match(/_nav=hide/))$(n.frame_nav).addClass("hide-nav-buttons");else{var e,c,f;if((a=$("[data-list]",k.list).data("list"))&&(f=rcmail[a])){$(n.frame_nav).removeClass("hide-nav-buttons hidden");if(c=f.get_single_selection())f.rows&&
f.rows[c]&&!f.rows[c].expanded?f.expand_row(b,c):f.get_node&&(e=f.get_node(c))&&e.collapsed&&f.expand(c);var d,h,g=$("#"+rcmail.env.contentframe);b=$("a.button.next",n.frame_nav).off("click").addClass("disabled");e=$("a.button.prev",n.frame_nav).off("click").addClass("disabled");if((h=f.get_next())||rcmail.env.current_page<rcmail.env.pagecount)b.removeClass("disabled").on("click",function(){n.content_lock=!0;Q(g);h?f.select(h):(rcmail.env.list_uid="FIRST",rcmail.command("nextpage"))});if((d=f.get_prev())&&
("*"!=d||"subscription_list"!=a)||1<rcmail.env.current_page)e.removeClass("disabled").on("click",function(){n.content_lock=!0;Q(g);d?f.select(d):(rcmail.env.list_uid="LAST",rcmail.command("previouspage"))})}else $(n.frame_nav).is(".hide-nav-buttons")&&!$(".buttons",n.frame_nav).children().length&&$(n.frame_nav).addClass("hidden")}}function wa(a){var b=[],e=$("#"+a.id).parent().is(".html-editor");a.config.plugins+=" autoresize";R().touch&&(a.config.toolbar_items_size=null,a.config.toolbar="undo redo | insert | styleselect",
a.config.plugins.match(/emoticons/)&&(a.config.toolbar+=" emoticons"));if("mail"==rcmail.task&&"compose"==rcmail.env.action){var c=$("#compose-content > form"),f=function(d){"Tab"==d.key&&d.shiftKey&&$("#compose-content > form").scrollTop(0)};b.push(function(d){d.on("keypress",f)});$("#composebody").on("keypress",f);c.on("scroll",function(){var d=$(".mce-container-body",c),h=$(".mce-top-part",d),g=d.offset(),l=c.offset().top;g&&0>g.top-l?h.css({position:"fixed",top:l+"px",width:d.width()+"px"}):h.css({position:"relative",
top:0,width:"auto"})});$(window).resize(function(){c.trigger("scroll")})}e&&(a.config.toolbar="plaintext | "+a.config.toolbar,a.config.setup_callback=function(d){d.addButton("plaintext",{tooltip:rcmail.gettext("plaintoggle"),icon:"plaintext",onclick:function(h){rcmail.command("toggle-editor",{id:d.id,html:!1},"",h.originalEvent)&&$("#"+d.id).parent().removeClass("ishtml")}})});rcmail.addEventListener("editor-load",function(d){$.each(b,function(){this(d.ref.editor)})})}function ia(a){$("ul",a.obj).addClass("menu listing iconized");
$(a.obj).addClass("popupmenu popover");B(a.obj);$("input",a.obj).addClass("form-control");if(y()&&$(a.obj).is(".googie_window")){var b=rcmail.gettext("close");b=$("<a>").attr("class","button icon cancel").text(b).click(function(e){e.stopPropagation();$(".popover-overlay").remove();$(a.obj).hide()});$('<h3 class="popover-header">').append(b).prependTo(a.obj);$(".popover-overlay").length||$("<div>").attr("class","popover-overlay").appendTo("body").click(function(){$(this).remove()});$("ul,button",a.obj).click(function(e){$(e.target).is("input")||
$(".popover-overlay").remove()})}}function xa(a){u&&$.each(ea,function(e,c){if(a.command==c.command)parent.$("#"+c.button_id)[a.status?"removeClass":"addClass"]("disabled")});if("mail"==rcmail.task)switch(a.command){case "reply-list":if(1==rcmail.env.reply_all_mode){var b=rcmail.gettext(a.status?"replylist":"replyall");$(".toolbar a.reply-all").attr("title",b).find(".inner").text(b)}break;case "compose-encrypted":$(".toolbar a.encrypt").parent().show();break;case "compose-encrypted-signed":$("#encryption-menu-button").show()}}
function ja(){var a=$(window).width();T=1024>=a;w=480>=a?"phone":1200<a?"large":768<a?"normal":"small"}function O(){var a;ja();W();ya();(a=y())?(rcmail.set_env(n.small_screen_config),rcmail.enable_command("extwin",!1)):(rcmail.set_env(n.config),rcmail.enable_command("extwin",!0));$.each(X,function(){$(this)[a?"hide":"show"]()})}function W(){if(!u||k.sidebar.length||k.list.length){switch(w){case "phone":ka();H(!1);break;case "small":ka();H(!0);break;case "normal":za();break;case "large":Aa()}"phone"==
w&&$("#logo").data("src-small")?$("#logo").attr("src",$("#logo").data("src-small")):$("#logo").attr("src",$("#logo").data("src-default"));L();bw.webkit&&bw.ipad&&bw.agent.match(/OS 9/)&&$(".iframe-wrapper").each(function(){var a=$(this).height();a&&$(this).children("iframe").height(a)})}else L()}function ya(){var a=R(),b=$(document.documentElement);b[0].className.match(/layout-([a-z]+)/)?RegExp.$1!=a.mode&&b.removeClass("layout-"+RegExp.$1).addClass("layout-"+a.mode):b.addClass("layout-"+a.mode);
a.touch&&!b.is(".touch")?b.addClass("touch"):!a.touch&&b.is(".touch")&&b.removeClass("touch")}function L(){$("#layout > div > .header").each(function(){var a,b=0,e=0,c={left:0,right:0};$(this).children(":visible:not(.position-absolute)").each(function(){!a&&$(this).is(".header-title")?a=$(this):c[a?"right":"left"]+=this.offsetWidth});0+c.right>=c.left?(b=0,e=c.right+0-c.left):(e=0,b=c.left-(0+c.right));$(a).css({"margin-right":b+"px","margin-left":e+"px","padding-right":"0px"})})}function za(){if(k.list.length){var a=
k.list.is(n.last_selected)||!k.sidebar.is(n.last_selected)&&!k.sidebar.is(".layout-sticky");k.list[a?"removeClass":"addClass"]("hidden")}k.sidebar.length&&(a=!k.list.length||k.sidebar.is(n.last_selected)||k.sidebar.is(".layout-sticky"),k.sidebar[a?"removeClass":"addClass"]("hidden"));k.content.removeClass("hidden");H(!0);la();k.list.length&&$(".header > ul.menu",k.list).addClass("popupmenu")}function Aa(){$.each(k,function(a,b){b.removeClass("hidden")});la();k.list&&$(".header > ul.menu.popupmenu",
k.list).removeClass("popupmenu")}function ka(){var a=!1;if(k.content.length){var b=a=k.content.is(n.last_selected);k.content[b?"removeClass":"addClass"]("hidden");$(".header > ul.menu",k.content).addClass("popupmenu")}k.list.length&&(b=!a&&k.list.is(n.last_selected),k.list[b?"removeClass":"addClass"]("hidden"),$(".header > ul.menu",k.list).addClass("popupmenu"));k.sidebar.length&&(b=!a&&(k.sidebar.is(n.last_selected)||!k.list.length),k.sidebar[b?"removeClass":"addClass"]("hidden"));a&&I.back_list.show()}
function la(){I.back_list.filter(function(){return 0==$(this).parents("#layout-sidebar").length}).hide();$("ul.menu.popupmenu").removeClass("popupmenu")}function Y(a){k.list.addClass("hidden");k.sidebar.removeClass("hidden");a&&k.sidebar.addClass("layout-sticky");"small"!=w&&"phone"!=w||k.content.addClass("hidden");L();n.last_selected=k.sidebar[0]}function Z(a){k.list.length||k.sidebar.length?(k.sidebar.addClass("hidden").removeClass("layout-sticky"),k.list.removeClass("hidden"),"small"!=w&&"phone"!=
w||Ba(),a&&k.list.children(".scroller").scrollTop(0),n.last_selected=k.list[0]):history.back();L()}function Ba(){n.last_selected=k.list[0]||k.sidebar[0];W();rcmail.show_contentframe(!1);$("[data-list]",k.list).each(function(){var a=$(this).data("list");rcmail[a]&&(rcmail[a].clear_selection?rcmail[a].clear_selection():rcmail[a].select&&rcmail[a].select())})}function H(a){a?("phone"==w&&($('<div id="menu-overlay" class="popover-overlay">').on("click",function(){H(!1)}).appendTo("body"),n.menu_initialized||
(n.menu_initialized=!0,$("a",k.menu).on("click",function(b){"phone"==w&&H()})),k.menu.addClass("popover")),k.menu.removeClass("hidden")):($("#menu-overlay").remove(),k.menu.addClass("hidden").removeClass("popover"))}function Ca(a){"loading"==a.type&&$(".iframe-loader:visible").length?rcmail.hide_message(a.object):(V(a.object,a.type,!0),$(a.object).attr("role","alert"))}function V(a,b,e){var c="ui alert",f=!$(a).is(".noicon");e&&f&&!$(a).is(".aligned-buttons")&&$(a).html($("<span>").html($(a).html()));
b=b.split(" ")[0];if(b={information:"alert-info",notice:"alert-info",confirmation:"alert-success",warning:"alert-warning",error:"alert-danger",loading:"alert-info loading",uploading:"alert-info loading",vcardattachment:"alert-info"}[b])c+=" "+b,f&&$("<i>").attr("class","icon").prependTo(a);$(a).addClass(c)}function ma(a){var b=$(),e=$("a.button.options",a),c=$("input:not([type=hidden])",a),f=c.attr("placeholder");$("form",a);var d=function(){if(c.val()||"mail"==rcmail.task&&$("#s_interval").val()||
rcmail.gui_objects.search_filter&&"ALL"!=$(rcmail.gui_objects.search_filter).val()||rcmail.gui_objects.foldersfilter&&"---"!=$(rcmail.gui_objects.foldersfilter).val())return!0},h=function(){$(a).is(".open")&&e.click()},g=function(){$(a)[d()?"addClass":"removeClass"]("active");b[rcmail.gui_objects.search_filter&&"UNSEEN"==$(rcmail.gui_objects.search_filter).val()?"addClass":"removeClass"]("selected")};c.is("#mailsearchform")&&(b=$("<a>").attr({"class":"button unread",href:"#",role:"button",title:rcmail.gettext("showunread")}).on("click",
function(l){$(rcmail.gui_objects.search_filter).val($(l.target).is(".selected")?"ALL":"UNSEEN");rcmail.command("search")}).insertBefore(e));e.on("click",function(l){var m=$(this).data("target"),p=$("#"+m),q=$(a).is(".open");if(p.length){if(!q)if(M[m])M[m](p.get(0),this,l);else if("function"==typeof window[m])window[m](p.get(0),this,l);p.next()[q?"show":"hide"]();p.toggleClass("hidden");$(".floating-action-buttons").toggleClass("hidden");$(a).toggleClass("open");$("button.search",p).off("click.search").on("click.search",
function(){e.click();g()})}});c.on("input change",g).on("focus blur",function(l){c.attr("placeholder","blur"==l.type?f:"")});$("a.reset",a).on("click",function(l){c.val("").change().trigger("keyup.treelist",{keyCode:27});$(a).is(".open")&&e.click();rcmail.gui_objects.search_filter&&$(rcmail.gui_objects.search_filter).val("ALL");rcmail.gui_objects.foldersfilter&&($(rcmail.gui_objects.foldersfilter).val("---").change(),rcmail.folder_filter("---"));g()});rcmail.addEventListener("init",g).addEventListener("responsebeforesearch",
g).addEventListener("beforelist",h).addEventListener("afterlist",g).addEventListener("beforesearch",h)}function N(a,b){if(u&&y())return parent.UI.popup_init(a,b||window);b||(b=window);var e,c=$(a).data("popup"),f=$(b.$("#"+c).get(0)),d=f,h=$(a).attr("title");$(a).attr({"aria-haspopup":"true","aria-expanded":"false","aria-owns":c}).popover({content:function(){b!=window&&(f=d.clone(!0,!0),f.attr("id",c+"-clone").appendTo(document.body).find("li > a").attr("onclick","").off("click").on("click",function(g){$(this).is(".disabled")||
($(a).popover("hide"),b.$("#"+$(this).attr("id")).click());return!1}));return f.get(0)},trigger:$(a).data("popup-trigger")||"click",placement:$(a).data("popup-pos")||"bottom",animation:!0,boundary:"window",html:!0}).on("show.bs.popover",function(g){var l=f.data("popup-init");c&&v[c]&&(v[c].transitioning=!0);if(l&&M[l])M[l](f.get(0),a,g);else if(l&&b[l])b[l](f.get(0),a,g);e=$("div.popover:visible").length+1;f.removeClass("hidden").attr("aria-hidden",!1).find('[aria-haspopup="true"]').data("level",
e+1).off("click.popup").on("click.popup",function(m){m.stopPropagation()});y()||f.css("max-height",Math.min(539,$(window).height()-30))}).on("shown.bs.popover",function(g){g=y();var l=$("#"+$(a).attr("aria-describedby"));e=$(a).data("level")||1;if(g){var m=1<e?"back":"close",p=rcmail.gettext(m);m="button icon "+("back"==m?"back":"cancel");$(".popover-header",l).empty().append($("<a>").attr("class",m).text(p).on("click",function(q){$(a).popover("hide");1<e&&q.stopPropagation()}).on("mousedown",function(q){q.stopPropagation()}))}$.each(v,
function(q,C){$(C.target).data("level")==e&&q!=c&&S(q)});"key"==$(a).data("event")&&(l.off("keydown.popup").on("keydown.popup","a.active",function(q){var C,J="next";switch(q.which){case 27:case 9:return $(a).popover("toggle").focus(),!1;case 38:case 63232:J="previous";case 40:case 63233:for(q=q.target.parentNode;q=q[J+"Sibling"];)if(C=$(q).children(".active")[0]){C.focus();break}return!1}}),l.find("a.active").first().focus());c&&v[c]&&(v[c].transitioning=!1);g&&!$(".popover-overlay").length&&$("<div>").attr("class",
"popover-overlay").appendTo("body").click(function(){$(this).remove()});$(".popover-body",l).addClass("webkit-scroller")}).on("hide.bs.popover",function(){1==e&&$(".popover-overlay").remove();c&&v[c]&&f.is(":visible")&&(v[c].transitioning=!0)}).on("hidden.bs.popover",function(){/-clone$/.test(f.attr("id"))?f.remove():f.attr("aria-hidden",!0).addClass("hidden").appendTo(f.data("popup-parent")||document.body);$(".popover-body:empty").each(function(){$(this).parent().remove()});c&&v[c]&&delete v[c]}).on("click",
function(){$(this).data("event","mouse")}).on("keydown",function(g){if(g.originalEvent)switch(g.originalEvent.which){case 13:case 32:g.preventDefault();$(this).data("event","key").popover("toggle");break;case 27:$(this).popover("hide")}});h&&$(a).attr("title",h);f.attr("aria-hidden","true").data("button",a);if(f.data("editable"))f.on("click mousedown",function(g){g.stopPropagation()})}function G(a){aa&&aa>(new Date).getTime()-250||$(".popover.show").each(function(){var b=$(".popover-body",this).children().first().data("button");
b&&a.target!=b&&!$(b).find(a.target).length&&"string"!==typeof b&&$(b).popover("hide");b||$(this).remove()})}function ba(a){if(a&&a.name&&(!a.props||!1!==a.props.skinable)){if(u&&y())return a.win||(a.win=window),parent.UI.menu_toggle(a);if("messagelistmenu"==a.name)Da(a);else if("menu-open"==a.event){var b=$("ul",a.obj).first(),e=a.props&&a.props.link?a.props.link:a.originalEvent.target;$(e).is("span")&&(e=$(e).parents("a,li")[0]);if(a.name.match(/^drag/)){var c=rcube_event.get_mouse_pos(a.originalEvent);
e=$("<a>").css({position:"absolute",left:c.x,top:c.y,height:"1px",width:"1px",visibility:"hidden"}).appendTo(document.body).get(0)}c=$(e).data("popup-pos")||"right";"folder-selector"==a.name?b.addClass("listing folderlist"):"addressbook-selector"==a.name||"contactgroup-selector"==a.name?b.addClass("listing contactlist"):b.hasClass("menu")&&b.addClass("listing");"pagejump-selector"==a.name&&(b.addClass("simplelist"),a.obj.addClass("simplelist"),c="top");v[a.name]&&S(a.name,a.originalEvent);var f=function(){if(v[a.name]&&
v[a.name].transitioning)return setTimeout(f,50);$(e).data("popup")||($(e).data({event:rcube_event.is_keyboard(a.originalEvent)?"key":"mouse",popup:a.name,"popup-pos":c,"popup-trigger":"manual"}),N(e,a.win));v[a.name]={target:e};$(e).popover("show")};f()}else S(a.name,a.originalEvent);a.originalEvent.stopPropagation()}}function S(a,b){var e=a;if(v[e])var c=v[e].target;else c=$("#"+e).data("button"),c||(e.match(/(?!-)menu$/)&&(e=e.substr(0,e.length-4)),c=$("#"+e+"-menu").data("button"));e=c;a.match(/^drag/)?
$(e).popover("dispose").remove():($(e).popover("hide"),"forwardmenu"==a&&G(b))}function Da(a){a=$("#listoptions-menu");a.width();var b=a.clone(!0);$('select[name="sort_col"]',b).val(rcmail.env.sort_col||"");$('select[name="sort_ord"]',b).val(rcmail.env.sort_order||"ASC");$('select[name="mode"]',b).val(rcmail.env.threading?"threads":"list");$("select",b).each(function(){this.id+="-clone"});$("label",b).each(function(){$(this).attr("for",$(this).attr("for")+"-clone")});b=rcmail.simple_dialog(b,rcmail.gettext("listoptionstitle"),
function(e){rcube_event.is_keyboard(e.originalEvent)&&$("#listmenulink").focus();e=$('select[name="sort_col"]',b).val();var c=$('select[name="sort_ord"]',b).val(),f=$('select[name="mode"]',b).val();rcmail.set_list_options([],e,c,"threads"==f?1:0);return!0},{closeOnEscape:!0,minWidth:400})}function na(a,b){var e=rcmail.env.task;var c=rcmail.env.search_mods,f=rcmail.env.mailbox,d=$("#s_scope",a).val(),h=$("#s_interval",a).val();"all"==d&&(f="*");c||(c={});if("mail"==e){c[f]||(c[f]=rcube_clone_object(c["*"]));
var g=c[f];e="text";rcmail.env.search_scope=d;rcmail.env.search_interval=h}else g=c,e="*";b&&(b.checked?g[b.value]=1:delete g[b.value],b.value==e&&$('input[name="s_mods[]"]',a).map(function(){this!=b&&(this.checked=!0,b.checked?(this.disabled=!0,delete g[this.value]):(this.disabled=!1,g[this.value]=1))}),rcmail.set_searchmods(g))}function ha(a,b){var e=$("#composestatusbar"),c=e.find("a.button.icon."+a);b?c.length||$("<a>").attr("class","button icon "+a).on("click",function(){Y()}).appendTo(e):c.remove()}
function oa(a,b,e){var c=$(b).parent().attr("id").replace(/^attach/,"");$.each(["open","download","rename"],function(){var f=this;$("#attachmenu"+f,a).off("click").attr("onclick","").click(function(d){return rcmail.command(f+"-attachment",c,this,d.originalEvent)})});return rcmail.command("menu-open",{menu:"attachmentmenu",id:c},a,e)}function fa(a){a=$(a);if(!a.is(".no-menu")&&!a.children(".dropdown").length){var b=rcmail.gettext("options"),e=a.find("a.filename"),c=$("<a>").attr({href:"#",tabindex:e.attr("tabindex")||
0,title:b,"class":"button icon dropdown skip-content"}).on("click",function(f){return oa($("#attachmentmenu"),c,f)}).append($("<span>").attr("class","inner").text(b));e.length?c.insertAfter(e):c.appendTo(a)}}function pa(a,b,e,c){var f=$(b).attr("href").replace(/^mailto:/,"");if(0>f.indexOf("@"))return!0;a.find("a").off("click").removeClass("active");if(rcmail.env.has_writeable_addressbook)$(".addressbook",a).addClass("active").on("click",function(d){var h=f,g=$(b).filter(".rcmContactAddress").text();
h=h.split("?")[0].split(",")[0].replace(/(^<|>$)/g,"");g&&(g=g.replace("<"+h+">",""),h='"'+$.trim(g)+'" <'+h+">");return rcmail.command("add-contact",h,this,d.originalEvent)});$(".compose",a).addClass("active").on("click",function(d){c?(b.onclick=c,$(b).trigger("click",[!0]),b.onclick=null):rcmail.command("compose",f,this,d.originalEvent);return!1});return rcmail.command("menu-open",{menu:"mailto-menu",link:b},b,e.originalEvent)}function ta(a){var b=a.onclick;a.onclick=null;$(a).on("click",function(e,
c){return c||pa($("#mailto-menu"),a,e,b)})}function Ea(a){var b=$("#quotadisplay"),e=b.find(".bar"),c=a.total?a.percent:0;e.length||(e=$('<span class="bar"><span class="value"></span></span>').appendTo(b));0<c&&10>c&&(c=10);e.find(".value").css("width",c+"%")[90<=c?"addClass":"removeClass"]("warning");b.attr({"data-original-title":"",title:b.find(".count").attr("title")});if(a.table)b.css("cursor","pointer").data("popup-pos","top").off("click").on("click",function(f){rcmail.simple_dialog(a.table,
"quota",null,{cancel_button:"close"})});else b.tooltip("dispose").tooltip({trigger:y()?"click":"hover"})}function Fa(a){var b="",e=function(){$(a).val(h.text()+d.val())},c=function(g,l,m){var p=$('<li class="recipient">'),q=$('<span class="name">').html(Ga(g||l)).on("dblclick",function(ca){Ha(ca,c)}),C=$('<span class="email">'),J=$("<a>").attr({"class":"button icon remove"}).click(function(){p.remove();e();d.focus();return!1});g&&(l=" <"+l+">");C.text((g?l:"")+",");p.attr("title",g?g+l:null).append([q,
C,J]);m?m.replaceWith(p):p.insertBefore(d.parent());e()},f=function(g){g=(g||d.val()).replace(/[,;\s]+$/,"");g=qa(g);$.each(g.recipients,function(){c(this.name,this.email)});d.val(g.text);e();return 0<g.recipients.length};var d=$("<input>").attr({type:"text",tabindex:$(a).attr("tabindex")}).on("paste change",function(g,l){var m=this.value;"paste"==g.type?(l=(g.originalEvent.clipboardData||window.clipboardData).getData("text")||"",m=m.substring(0,this.selectionStart)+l+m.substring(this.selectionEnd),
g.preventDefault()):l&&(g=h.find("li.recipient").last(),g.length&&-1<this.value.indexOf(g.text().replace(/[ ,]+$/,""))&&g.remove());f(m)}).on("keydown",function(g){if(8==g.keyCode&&!d.val().length)return h.children("li.recipient").last().remove(),e(),!1;if((","==g.key||";"==g.key||"Enter"==g.key&&!rcmail.ksearch_visible())&&f())return!1}).on("blur",function(){h.removeClass("focus")}).on("focus mousedown",function(){h.addClass("focus")});var h=$("<ul>").addClass("form-control recipient-input ac-input rounded-left").append($('<li class="input">').append(d)).on("mouseup",
function(){b=window.getSelection().toString()}).on("click",function(){b.length||d.focus()});$(a).css({position:"absolute",opacity:0,left:"-5000px",width:"10px"}).attr("tabindex",-1).after(h).on("focus",function(g){d.focus();g.preventDefault()}).on("change",function(){$("li.recipient",h).remove();d.val(this.value).change()}).change();rcmail.init_address_input_events(d)}function qa(a){a=$.trim(a.replace(/[,;\s]*[\r\n]+/g,","));var b=[],e=/(<(\S+|("[^"]+"))@\S+>)/,c=/((\S+|("[^"]+"))@\S+)/,f=a.match(/(?=\S)[^",;]*(?:"[^\\"]*(?:\\[,;\S][^\\"]*)*"[^",;]*)*/g);
$.each(f||[],function(){if(this.length&&(e.test(this)||c.test(this))){var d=RegExp.$1,h=$.trim(this.replace(d,""));b.push({name:h,email:d.replace(/(^<|>$)/g,""),text:this});a=a.replace(this,"")}});a=a.replace(/[,;]+/,",").replace(/^[,;\s]+/,"");return{recipients:b,text:a}}function Ga(a){var b,e="",c=a.length;'"'!=a.charAt(0)&&-1<a.indexOf('"')&&(a='"'+a.replace("\\","\\\\").replace('"','\\"')+'"');for(b=0;b<c;b++){var f=a.charAt(b);switch(f){case '"':if(0<b&&b<c-1){e+='"';break}e+='<span class="quotes">'+
f+"</span>";break;case "\\":e+='<span class="quotes">'+f+"</span>";"\\"==a.charAt(b+1)&&(e+=f,b++);break;case "<":e+="&lt;";break;case ">":e+="&gt;";break;default:e+=f}}return e}function Ha(a,b){var e=$(a.target).parents(".recipient"),c=e.text().replace(/,+$/,""),f=$("<input>").attr({type:"text",size:50}).val(c);a=$("<label>").text(rcmail.gettext("recipient")).append(f);rcmail.simple_dialog(a,"recipientedit",function(){var d;if(d=f.val()){if(d!=c){d=qa(d);if(1!=d.recipients.length)return!1;b(d.recipients[0].name,
d.recipients[0].email,e)}return!0}})}function Ia(a){var b=$("<a>").attr({"class":"icon button delete",href:"#"}).click(function(f){rcmail.command("delete-photo","",this,f);return!1}),e=$(a).find("img")[0],c=function(){var f=-1!=(e.currentSrc||e.src).indexOf(rcmail.env.photo_placeholder);$(a)[f?"removeClass":"addClass"]("changed")};$(a).append(b).click(function(){rcmail.upload_input("upload-form")});c();$(e).on("load",c)}function Q(a){a=$(a);if(a.length){var b=$('<div class="iframe-loader">').append($('<div class="spinner spinner-border" role="status">').append($('<span class="sr-only">').text(rcmail.gettext("loading"))));
a.on("load error loaded",function(){setTimeout(function(){b.remove()},500)}).parent().append(b);ra&&a.parent().addClass("ios-scroll")}}function P(a){var b;a=$(a);if(!a.is(".custom-control-input")){(b=a.attr("id"))||(b="icochk"+ ++n.checkboxes,a.attr("id",b));if(a.parent().is("label")){var e=a.parent();a=a.detach();e.before(a)}else e=$("<label>");e.attr({"for":b,"class":"custom-control-label",title:a.attr("title")||""}).on("click",function(c){c.stopPropagation()});a.addClass("form-check-input custom-control-input").wrap('<div class="custom-control custom-switch">').parent().append(e)}}
function Ja(a){var b=$(a.row).find("input[id^=icochk]");b.length&&(a="icochk"+ ++n.checkboxes,b.attr("id",a).next("label").attr("for",a))}function U(a){if(!bw.iphone&&!bw.ipad&&(a=$(a),!a.is(".pretty-select"))){var b="select"+a.attr("id")+a.attr("name"),e=function(){if(a[0].ownerDocument.defaultView.$(".select-menu .listing").data("ident")==b)return!0},c=function(){var d=e();a.popover("dispose").focus();return!d},f=function(d){var h,g=-1,l=[],m=[],p=a.closest(".ui-dialog")[0],q=(document.documentElement.clientHeight||
$(document.body).height())-75,C=$(document.body).width()-20,J=Math.min(a.outerWidth(),C),ca=a.val();y()||(q*=.5);G(d);$("option",a).each(function(){var r=$(this).text(),z=$('<a href="#">').data("value",this.value).addClass(this.disabled?"disabled":"active"+(this.value==ca?" selected":""));r.length?(z.text(r),m.push(this.disabled?"":r.charAt(0).toLowerCase())):(z.html("&nbsp;"),m.push(""));l.push($("<li>").append(z))});var D=$('<ul class="listing selectable iconized">').attr("data-ident",b).data("button",
a[0]).append(l).on("click","a.active",function(){var r=$(this).data("value"),z=c();a.val(r).change();return z}).on("keydown","a.active",function(r){var z;var x="next";switch(r.which){case 27:case 9:return c();case 13:case 32:return $(this).click(),!1;case 38:case 63232:x="previous";case 40:case 63233:for(r=r.target.parentNode;r=r[x+"Sibling"];)if(z=$(r).children(".active")[0]){z.focus();break}return!1;default:(x=r.originalEvent.key)&&1==x.length&&(x=x.toLowerCase(),h!=x&&(g=-1),r=m.indexOf(x,g+1),
(-1<r||-1<(r=m.indexOf(x)))&&D.find("a").eq(r).focus(),h=x,g=r)}});a.popover("dispose").popover({container:p||document.body,content:D[0],placement:"bottom",trigger:"manual",boundary:"viewport",html:!0,offset:"0,2",sanitize:!1,template:'<div class="popover select-menu" style="min-width: '+J+"px; max-width: "+C+'px"><div class="popover-header"></div><div class="popover-body" style="max-height: '+q+'px"></div></div>'}).on("shown.bs.popover",function(){a.focus();D.parent().prev().empty().append($('<a class="button icon cancel">').text(rcmail.gettext("close")).on("click",
function(x){x.stopPropagation();return c()}));var r=D.find("a.selected").first();if(r.focus().length){var z=D.parent();g=D.find("a").index(r[0]);h=m[g];5<g&&z.scrollTop(z.scrollTop()+z.height()/2)}else rcube_event.is_keyboard(d)&&D.find("a.active").first().focus();D.on("mousedown",function(x){x.stopPropagation()})}).popover("show")};a.addClass("pretty-select custom-select form-control").on("mousedown keydown",function(d){a=$(d.target);if(!a.prop("disabled")){if(9==d.which)return c(),!0;if(27==d.which||
"mousedown"==d.type&&e())return c();a.focus();a.prop("disabled",!0);setTimeout(function(){a.prop("disabled",!1)},0);d.stopPropagation();if("mousedown"==d.type||13==d.which||32==d.which||40==d.which||63233==d.which)return f(d),aa=(new Date).getTime(),!1}})}}function Ka(a){var b=!1,e=$(a),c=e.parent(),f=$('<a class="mce-i-html" href="#" tabindex="-1"></a>').attr("title",rcmail.gettext("htmltoggle")).on("click",function(g){rcmail.command("toggle-editor",{id:e.attr("id"),html:!0},"",g.originalEvent)&&
c.addClass("ishtml")}).on("keydown",function(g){if(9==g.which)return e.focus(),!1}),d=$('<div class="editor-toolbar">').append(f);if(c.is("td")){var h=$('input[type="checkbox"]',c.parent().next());b=!0}else h=e.next("select.hidden");La(a);1==h.length&&(c.addClass("html-editor"),e.after(d).data("control",h).on("keydown",function(g){g.altKey&&121==g.which&&f.focus()}),b&&(h.parents("tr").first().hide(),c.prev().hide(),c.addClass("col-sm-12")))}function La(a){var b,e,c=function(){if(!a.scrollHeight)return setTimeout(c,
250);b||(b=parseInt($(a).css("padding-top"))+parseInt($(a).css("padding-bottom"))+2,e=$(a).height());if(!(a.scrollHeight-b<=e)){var f,d=0;$(a).parents().each(function(){if(0<this.scrollTop)return f=this,d=this.scrollTop,!1});var h=$(a).outerHeight();$(a).outerHeight(0);var g=Math.max(e,a.scrollHeight);$(a).outerHeight(h);g!==h&&$(a).height(g);d&&(f.scrollTop=d)}};$(a).on("input",c).trigger("input")}function da(a,b,e,c,f,d){c=$('<div class="input-group"><input type="text" class="form-control"><span class="input-group-append"><a class="icon reset input-group-text" href="#"></a></span></div>');
b={value:b,name:e+"[]"};f&&(b.size=f);$("input",c).attr(b).keydown(function(h){var g=$(this);if(13==h.which){h=g.attr("name").replace(/\[\]$/,"");var l=(new Date).getTime();g=da(a,"",h,l,f,g.parent());$("input",g).focus()}else if((8==h.which||46==h.which)&&""==g.val()&&(g=g.parent(),1<a.children().length))return g.prev().length?g.prev().children("input").focus():g.next().children("input").focus(),g.remove(),!1});$("a.reset",c).click(function(){var h=$(this.parentNode.parentNode);1<a.children().length?
($("input",h.next().length?h.next():h.prev()).focus(),h.remove()):$("input",h).val("").focus()});$(c).find("input,a").on("focus",function(){a.addClass("focused")}).on("blur",function(){a.removeClass("focused")});d?d.after(c):c.appendTo(a);return c}function sa(a){var b=a.find(".scroller .listing").first().attr("id"),e=rcmail.env.task+"."+(b||rcmail.env.action+"."+a.attr("id"));b=Ma(e);var c=a.is(".sidebar-right"),f=function(d){a.css({width:Math.max(100,d),flex:"none"})};a[c?"prev":"next"]().length&&
($('<div class="column-resizer">').appendTo(a).on("mousedown",function(d){var h,g=$(this),l=a.position().left;g.width(1E4).css(c?"left":"right",-5E3);document.body.style.userSelect="none";$(document).on("mousemove.resizer",function(m){clearTimeout(h);h=setTimeout(function(){c&&(l=a.position().left);var p=rcube_event.get_mouse_pos(m).x;p=c?a.width()+(l-p):p-l;f(p)},5)}).on("mouseup.resizer",function(){$(document).off(".resizer");$("iframe").off(".resizer");document.body.style.userSelect="auto";g.width(6).css(c?
"left":"right",-3);var m=a.width();E[e]=m;if(!rcmail.local_storage_set_item("prefs.elastic",E)){var p=new Date;p.setYear(p.getFullYear()+1);rcmail.set_cookie(e,m,p)}})}),b&&f(b))}function Na(a){if(!y()||!0===arguments[3])return n.open_window.apply(rcmail,arguments);a=rcmail.add_url(a,"_framed",1);a=rcmail.add_url(a,"_extwin",1);var b,e="",c={cancel_button:"close",width:768,height:768},f=$("<iframe>").attr({id:"windowframe",src:a});/_action=([a-z_]+)/.test(a)&&(b=rcmail.labels[RegExp.$1])&&(e=b);/_frame=1/.test(a)&&
(c.dialogClass="no-titlebar");rcmail.simple_dialog(f,e,null,c);return!0}function R(){if(u){var a=$(parent.document.documentElement);return{mode:a[0].className.match(/layout-([a-z]+)/)?RegExp.$1:w,touch:a.is(".touch")}}return{mode:w,touch:T}}function y(){var a=R();return"phone"==a.mode||"small"==a.mode}function Ma(a){E||(E=rcmail.local_storage_get_item("prefs.elastic",{}));if(null==E[a]){var b=rcmail.get_cookie(a);null!=b&&(E[a]=b,rcmail.local_storage_set_item("prefs.elastic",E)&&rcmail.set_cookie(a,
b,new Date))}return E[a]}var E,M=this,w="normal",T=!1,ra=!1,aa,u=rcmail.is_framed(),n={config:{standard_windows:rcmail.env.standard_windows,message_extwin:rcmail.env.message_extwin,compose_extwin:rcmail.env.compose_extwin,help_open_extwin:rcmail.env.help_open_extwin},checkboxes:0,small_screen_config:{standard_windows:!0,message_extwin:!1,compose_extwin:!1,help_open_extwin:!1}},v={},X=[],ea=[],k={menu:$("#layout-menu"),sidebar:$("#layout-sidebar"),list:$("#layout-list"),content:$("#layout-content")},
I={menu:$("a.task-menu-button"),back_sidebar:$("a.back-sidebar-button"),back_list:$("a.back-list-button"),back_content:$("a.back-content-button")};this.register_content_buttons=function(a){if(n.frame_nav&&a&&a.length){var b=n.frame_nav.children(".buttons");X=[];$.each(a,function(){this.data("target")&&X.push(this.data("target"))});b.html("").append(a)}};this.menu_hide=S;this.menu_toggle=ba;this.menu_destroy=function(a){$("[aria-owns="+a+"]").popover("dispose").data("popup",null)};this.popup_init=
N;this.about_dialog=function(a){var b,e=!1,c=$("<iframe>").attr({id:"aboutframe",src:rcmail.url("settings/about",{_framed:1})}),f=$("#supportlink");if(f.length&&(b=f.attr("href"))){e=f.text();var d=function(h){0>b.indexOf("mailto:")?window.open(b):location.href=b}}rcmail.simple_dialog(c,$(a).text(),d,{button:e,button_class:"help",cancel_button:"close",height:400})};this.headers_dialog=function(){var a={_uid:rcmail.env.uid,_mbox:rcmail.env.mailbox,_framed:1};a=$("<iframe>").attr({id:"headersframe",
src:rcmail.url("headers",a)});rcmail.simple_dialog(a,rcmail.gettext("arialabelmessageheaders"),null,{cancel_button:"close",height:400})};this.import_dialog=function(){if(rcmail.commands["import-messages"]){var a=$("#uploadform").clone(!0);rcmail.simple_dialog(a,rcmail.gettext("importmessages"),function(b){return rcmail.command("import-messages",$(a.find("form")[0]))},{button:"import",closeOnEscape:!0,minWidth:400})}};this.headers_show=function(a){a=$(a).parent().prev();a[a.is(".hidden")?"removeClass":
"addClass"]("hidden")};this.spellmenu=function(a){var b,e=[],c=rcmail.spellcheck_lang(),f=$("ul",a);if(!f.length){f=$('<ul class="selectable listing iconized" role="menu">');for(b in rcmail.env.spell_langs){var d=$('<li role="menuitem">');var h=$('<a href="#'+b+'" tabindex="0"></a>').text(rcmail.env.spell_langs[b]).addClass("active").data("lang",b).on("click keypress",function(g){if("keypress"!=g.type||13==rcube_event.get_keycode(g))return rcmail.spellcheck_lang_set($(this).data("lang")),rcmail.hide_menu("spell-menu",
g),!1});h.appendTo(d);e.push(d)}f.append(e).appendTo(a)}$("li",f).each(function(){var g=$("a",this);g.data("lang")==c?g.addClass("selected").attr("aria-selected","true"):g.hasClass("selected")&&g.removeClass("selected").removeAttr("aria-selected")})};this.searchmenu=function(a){var b,e=$('input[name="s_mods[]"]',a),c=$("#s_scope",a),f=rcmail.env.mailbox,d=rcmail.env.search_mods,h=rcmail.env.search_scope||"base";$(a).data("initialized")||($(a).data("initialized",!0),e.length&&(e.on("change",function(){na(a,
this)}),rcmail.addEventListener("beforesearch",function(){na(a)})));if(rcmail.env.search_mods){if("mail"==rcmail.env.task){"all"==h&&(f="*");d=d[f]?d[f]:d["*"];var g="text";c.val(h)}else g="*";if(d[g])e.map(function(){this.checked=!0;this.disabled=this.value!=g});else for(b in e.prop("disabled",!1).prop("checked",!1),d)e.filter('[value="'+b+'"]').prop("checked",!0)}};this.headersmenu=function(a,b,e){$("li > a",a).each(function(){var c=$(this),f="#compose_"+c.data("target");c[$(f).is(":visible")?"removeClass":
"addClass"]("active").off().on("click",function(){$(f).removeClass("hidden").find(".recipient-input input").focus();c.removeClass("active");rcmail.set_menu_buttons()})})};this.header_reset=function(a){$("#"+a).val("").change().closest(".form-group").nextAll(":not(.hidden)").first().find("input").focus();$("a[data-target="+a.replace(/^_/,"")+"]").addClass("active");rcmail.set_menu_buttons()};this.compose_status=ha;this.attachmentmenu=oa;this.mailtomenu=pa;this.recipient_selector=function(a,b){b||(b=
{});var e=rcmail.gettext(b.title||"insertcontact"),c=$("#recipient-dialog"),f=c.parent(),d=function(){c.is(":visible")&&rcmail.env.recipient_dialog.dialog("close")};rcmail.env.recipient_selector_initialized||(rcmail.addEventListener("add-recipient",d),rcmail.env.recipient_selector_initialized=!0);a&&(rcmail.env.focused_field="#_"+a);rcmail.contact_list.clear_selection();rcmail.contact_list.multiselect="multiselect"in b?b.multiselect:!0;rcmail.env.recipient_dialog=rcmail.simple_dialog(c,e,function(){b.action?
(b.action(),d()):rcmail.command("add-recipient")},{button:rcmail.gettext(b.button||"insert"),button_class:b.button_class||"insert recipient",height:600,classes:{"ui-dialog-content":"p-0"},open:function(){$("#directorylist a").first().focus()},close:function(){c.appendTo(f);$(this).remove();$(b.focus||rcmail.env.focused_field).focus()}})};this.show_list=Z;this.show_sidebar=Y;this.smart_field_init=function(a){var b=a.id+"_list",e=$('<div class="multi-input"><div class="content"></div><div class="invalid-feedback"></div></div>'),
c=a.value?a.value.split("\n"):[""];$("#"+b).length||($.each(c,function(f,d){da($(".content",e),d,a.name,f,$(a).data("size"))}),e.attr("id",b),a=$(a),a.attr("disabled")?e.hide():a.prop("disabled",!0),a.data("hidden")&&e.hide(),a.after(e),a.hasClass("is-invalid")&&(e.addClass("is-invalid"),$(".invalid-feedback",e).text(a.data("error-msg"))))};this.smart_field_reset=function(a,b){b=b.length?b:[""];var e=$("#"+(a.id+"_list")).children(".content");e.empty();$.each(b,function(c,f){da(e,f,a.name,c,$(a).data("size"))})};
this.form_errors=function(a){$.each(a,function(){var b=$("#"+this[0]).addClass("is-invalid");"list"==b.data("type")?(b.data("error-msg",this[2]),$("#"+this[0]+"_list > .invalid-feedback").text(this[2])):b.after($('<span class="invalid-feedback">').text(this[2]))})};this.switch_nav_list=function(a){var b=$("a",a),e=$(a).next();if(e.height())e.animate({height:"0"},250),b.addClass("expand").removeClass("collapse"),$(a).removeClass("expanded");else{var c=$("tr,li",e).filter(function(){return"none"!=this.style.display});
var f=$(c[0]).height()||50;e.animate({height:Math.min(5,c.length)*f+1+"px"},250);b.addClass("collapse").removeClass("expand");$(a).addClass("expanded")}};this.searchbar_init=ma;this.pretty_checkbox=P;this.pretty_select=U;this.datepicker_init=function(a){window.MutationObserver&&$(a).not("[data-observed]").each(function(){var b,e=!0,c=u?parent:window;$(this).attr("data-observed","1");u&&($(this).detach().appendTo(parent.document.body),$('<div id="ui-datepicker-div" class="hidden">').appendTo(document.body));
(new MutationObserver(function(f){$.each(f,function(d,h){"attributes"==h.type?(d="true"==$(h.target).attr("aria-hidden"),d!=e&&(d?b&&b.remove():b=$("<div>").attr("class","ui-widget-overlay datepicker").appendTo(c.document.body).click(function(g){$(this).remove();u&&$.datepicker._hideDatepicker()}),e=d)):h.addedNodes.length&&(c.UI.bootstrap_style(h.target),u&&(c.$("select.ui-datepicker-month",h.target).on("change",function(){$.datepicker._selectMonthYear($.datepicker._lastInput,this,"M")}),c.$("select.ui-datepicker-year",
h.target).on("change",function(){$.datepicker._selectMonthYear($.datepicker._lastInput,this,"Y")})))})})).observe(this,{childList:!0,subtree:!1,attributes:!0,attributeFilter:["aria-hidden"]})})};this.bootstrap_style=B;ja();(function(){n.last_selected=$("#layout > div.selected")[0];!n.last_selected&&k.content.length&&$.each(["sidebar","list","content"],function(){if(k[this].length)return n.last_selected=k[this][0],k[this].addClass("selected"),!1});$(window).on("resize",function(){clearTimeout(n.resize_timeout);
n.resize_timeout=setTimeout(function(){O()},25)});n.open_window=rcmail.open_window;rcmail.open_window=Na;rcmail.addEventListener("message",Ca).addEventListener("menu-open",ba).addEventListener("menu-close",ba).addEventListener("editor-init",wa).addEventListener("autocomplete_create",ia).addEventListener("googiespell_create",ia).addEventListener("setquota",Ea).addEventListener("enable-command",xa).addEventListener("clonerow",Ja).addEventListener("init",K);window.MutationObserver&&window.tinymce&&(new MutationObserver(function(b){$.each(b,
function(){$.each(this.addedNodes,function(){ua(this)})})})).observe(document.body,{childList:!0});if((k.list.length||k.content.length)&&y()){var a=[];$("[data-fab]").each(function(){var b=$(this),e=b.data("fab-task")||"*",c=b.data("fab-action")||"*";"*"!=e&&e!=rcmail.env.task||"*"!=c&&c!=rcmail.env.action&&("none"!=c||rcmail.env.action)||a.push(A(b,!1,!1,!0))});a.length&&$('<div class="floating-action-buttons">').append(a).appendTo(k.list.length?k.list:k.content)}k.sidebar.length&&sa(k.sidebar);
k.list.length&&sa(k.list)})();B();(function(){if(!n.got_smart_toolbar){n.got_smart_toolbar=!0;var a,b=[],e=[],c=R(),f=function(l,m,p){var q=$('<li role="menuitem">');l=p?A($(l),!0,"hidden-big hidden-large"):$(l).detach();l.contents().filter(function(){3!=this.nodeType||$.trim(this.nodeValue).length||$(this).remove()});l.is(".spacer")?q.addClass("spacer"):q.append(l);m.push(q)};k.content.find(".header > .menu").each(function(){var l=$(this);l.children().each(function(){f(this,b)});l.remove()});k.list.find(".header > .menu").each(function(){var l=
$(this);a=l.next();l.children().each(function(){"large"!=c.mode&&$(this).data("popup-pos","right");f(this,b,!0);f(this,e)});l.remove()});$('ul[data-menu="toolbar-small"] > li > a').each(function(){var l=$(this).clone();l.attr("id",this.id+"_clone");b.push($('<li role="menuitem">').addClass("hidden-big").append(l))});if(e.length){var d=k.list.children(".header"),h={"class":"menu toolbar popupmenu listing iconized",id:"toolbar-list-menu"},g=$('<a class="button icon toolbar-list-button" href="#list-menu">').attr({"data-popup":"toolbar-list-menu"});
h=$("<ul>").attr(h).data("popup-parent",d).append(e);a.length?h.insertBefore(a):d.append(h);d.append(g)}b.length&&(d=k.content.children(".header"),h={"class":"menu toolbar popupmenu listing iconized",id:"toolbar-menu"},g=$('<a class="button icon toolbar-menu-button" href="#menu">').attr({"data-popup":"toolbar-menu"}),d.append($("<ul>").attr(h).data("popup-parent",d).append(b)).append(g),k.list.find("a.toolbar-menu-button").click(function(l){l.stopPropagation();g.click()}))}})();(function(){if(k.list.length){var a=
n.last_selected,b=function(d){"string"===typeof d&&d.length||(d=$("h1.voice").text()||$("title").text()||"");k.content.find(".header > .header-title").text(d)},e=function(d,h,g,l){y()&&n.frame_nav&&va(h,d);g&&!k.content.is(":visible")?n.last_selected=k.content[0]:g||n.last_selected==a||n.content_lock||(n.last_selected=a);W();b(l&&g?l:null);n.content_lock=!1},c=function(d){"large"!=w&&!n.content_lock&&d.force&&Z();n.content_lock=!1;d.title&&$(".header > .header-title",k.list).text(d.title)},f=function(d){var h=
{};if("addressbook"==rcmail.env.task||"mail"==rcmail.env.task)h.force=!0;"mail"!=rcmail.env.task||rcmail.env.action||(d="string"==$.type(d)?d:rcmail.env.mailbox,d=rcmail.env.mailboxes[d],h.title=d?d.name:"");c(h)};k.content.find("iframe").on("load",function(d){var h="",g=!0;$(this).parent(".iframe-wrapper").scrollTop(0);try{h=d.target.contentWindow.location.href,g=!h.endsWith(rcmail.env.blankpage),$(d.target.contentWindow).on("unload",b)}catch(l){}e(d,h,g)});rcmail.addEventListener("afterlist",f).addEventListener("afterlistgroup",
f).addEventListener("afterlistsearch",f).addEventListener("show-list",function(d){d.force=!0;c(d)}).addEventListener("show-content",function(d){d.obj&&!$(d.obj).is("iframe")&&($(d.scrollElement||d.obj).scrollTop(0),y()&&Q(d.obj));e(d.event||new Event,"_action="+(d.mode||"edit"),!0,d.title)})}})();(function(){$("[data-popup]").each(function(){N(this)});$(document).on("click",G);rcube_webmail.set_iframe_events({mousedown:G,touchstart:G})})();(function(){var a,b,e=[];$.ui&&$.widget("ui.dialog",$.ui.dialog,
{open:function(){$(this.element).is(".iframe")&&(this.options.width=Math.max(576,this.options.width));this._super();var c=$(this.uiDialog),f=c.width(),d=c.height(),h=$(window).width(),g=$(window).height();480>=h?c.css({width:"100%",height:"100%"}):(d>g&&c.css("height","100%"),f>h&&c.css("width","100%"));$(document).click();Q($("div.popup > iframe",c));B(this.uiDialog);return this},close:function(){this._super();$(".select-menu:visible").remove();return this}});I.menu.on("click",function(){H(!0);return!1});
I.back_sidebar.on("click",function(){Y();return!1});I.back_list.on("click",function(){Z();return!1});I.back_content.on("click",function(){k.list.addClass("hidden");k.sidebar.addClass("hidden");k.content.removeClass("hidden");k.sidebar.removeClass("layout-sticky");L();n.last_selected=k.content[0];return!1});$(".searchbar").each(function(){ma(this)});!u||rcmail.env.extwin||parent.$(".ui-dialog:visible").length?u||((a=k.content.find(".boxtitle").first().detach().text())||(a=$("h1.voice").first().text()),
a&&k.content.find(".header > .header-title").text(a)):(a=$("h1.voice").first().text())&&parent.$("#layout-content > .header > .header-title:not(.constant)").text(a);u||!k.content.length||k.content.is(".no-navbar")||k.content.children(".frame-content").length||(n.frame_nav=$('<div class="footer menu toolbar content-frame-navigation hide-nav-buttons">').append($('<a class="button prev">').append($('<span class="inner"></span>').text(rcmail.gettext("previous")))).append($('<span class="buttons">')).append($('<a class="button next">').append($('<span class="inner"></span>').text(rcmail.gettext("next")))).appendTo(k.content));
$("a[data-content-button]").each(function(){e.push(A($(this)))});$(".formbuttons").filter(function(){return!$(this).parent(".searchoptions").length}).children().each(function(){var c=$(this);if(u||c.parents("#layout-content").length)c.is(".cancel")?c.addClass("hidden"):e.push(A(c))});(u?parent.UI:M).register_content_buttons(e);if(b=rcmail.gui_objects.messageform)b=$('form[name="'+b+'"]'),$("#_cc, #_bcc, #_replyto, #_followupto",$(".compose-headers")).each(function(){$(this).on("change",function(){$("#compose"+
$(this).attr("id"))[this.value?"removeClass":"addClass"]("hidden")})}),$("#compose-options").find("textarea,input,select").each(function(){var c=$("<input>").attr({type:"hidden",name:$(this).attr("name")}).appendTo(b);$(this).attr("tabindex",2).on("change",function(){c.val("checkbox"!=this.type||this.checked?$(this).val():"")}).change()});$("[data-recipient-input]").each(function(){Fa(this)});$(".image-upload").each(function(){Ia(this)});$("textarea[data-html-editor]").each(function(){Ka(this)});
$("#dragmessage-menu,#dragcontact-menu").each(function(){rcmail.gui_object("dragmenu",this.id)});$("#taskmenu > a").each(function(){if(/button-([a-z]+)/.test(this.className)){var c,f=RegExp.$1,d=F(this.id);d&&(c=d.data)&&(c.sel&&(c.sel=c.sel.replace("button-selected","selected")+" "+f),c.act&&(c.act+=" "+f),rcmail.buttons[d.command][d.index]=c,rcmail.init_button(d.command,c));$(this).addClass(f);$(".button-inner",this).addClass("inner")}$(this).on("mouseover",function(){rcube_webmail.long_subject_title(this,
0,$("span.inner",this))})});$(".listbutton").each(function(){var c=F(this.id);$(this).addClass("button").removeClass("listbutton");c.data.sel&&(c.data.sel=c.data.sel.replace("listbutton","button"));c.data.act&&(c.data.act=c.data.act.replace("listbutton","button"));rcmail.buttons[c.command][c.index]=c.data;rcmail.init_button(c.command,c.data)});$("[data-hidden]").each(function(){for(var c,f=$(this).data("hidden"),d=$(this).parent("li"),h=/(large|big|small|phone|lbs)/g;c=h.exec(f);)$(d.length?d:this).addClass("hidden-"+
c[1])});$("[data-list]").each(function(){$("input[type=checkbox]",this).each(function(){P(this)})});u&&$(".formcontent").each(function(){$(this).next(".formbuttons").length&&$(this).parent().addClass("formcontainer")});$("#attachment-list + a.zipdownload").appendTo(".header-links");(ra=$("html").is(".ipad,.iphone"))&&$(".iframe-wrapper, .scroller").addClass("ios-scroll");$("html").filter(".ipad,.iphone,.webkit.mobile,.webkit.tablet").addClass("webkit-scroller").length&&$(k.menu).addClass("webkit-scroller");
$(".treelist").each(function(){var c=this,f=function(){$(c)[0<$(".treetoggle",c).length?"removeClass":"addClass"]("notree")};window.MutationObserver&&(new MutationObserver(f)).observe(c,{childList:!0,subtree:!0});f();$("li.mailbox > a").on("mouseover",function(){rcube_webmail.long_subject_title_ex(this)})});$("#logo").data("src-default")||$("#logo").data("src-default",$("#logo").attr("src"))})();O()}
if(window.rcmail)rcmail.show_menu=function(t,A,F){var K="object"==typeof t?t.menu:t,B=$("#"+K);"string"==typeof t&&(t={menu:K});return rcmail.triggerEvent(!1===A?"menu-close":"menu-open",{name:K,obj:B,props:t,originalEvent:F})},rcmail.hide_menu=function(t,A){return rcmail.triggerEvent("menu-close",{name:t,props:{menu:t},originalEvent:A})};else var rcmail=parent.rcmail,rcube_webmail=parent.rcube_webmail,bw={};var UI=new rcube_elastic_ui;
if($&&$.datepicker){var __newInst=$.datepicker._newInst;$.extend($.datepicker,{_newInst:function(t,A){t=__newInst.call(this,t,A);t.inline||UI.datepicker_init(t.dpDiv);return t}})};