add files from release version + beetroot files (#2)

This commit is contained in:
meaz 2020-03-26 20:09:32 +00:00 committed by Gitea
parent 08a364c611
commit df62da0afd
56 changed files with 725 additions and 310 deletions

6
beetroot/deps/bootstrap.bundle.min.js vendored Normal file

File diff suppressed because one or more lines are too long

6
beetroot/deps/bootstrap.min.css vendored Normal file

File diff suppressed because one or more lines are too long

23
beetroot/deps/less.min.js vendored Normal file

File diff suppressed because one or more lines are too long

View File

@ -0,0 +1 @@
@font-face{font-family:'Icons';font-style:normal;font-weight:900;src:url("../fonts/fa-solid-900.woff2") format('woff2'),url("../fonts/fa-solid-900.woff") format('woff')}@font-face{font-family:'Icons';font-style:normal;font-weight:400;src:url("../fonts/fa-regular-400.woff2") format('woff2'),url("../fonts/fa-regular-400.woff") format('woff')}@font-face{font-family:'Roboto';font-style:normal;font-weight:400;src:local('Roboto'),local('Roboto-Regular'),url('../fonts/roboto-v19-regular.woff2') format('woff2'),url('../fonts/roboto-v19-regular.woff') format('woff')}@font-face{font-family:'Roboto';font-style:italic;font-weight:400;src:local('Roboto Italic'),local('Roboto-Italic'),url('../fonts/roboto-v19-italic.woff2') format('woff2'),url('../fonts/roboto-v19-italic.woff') format('woff')}@font-face{font-family:'Roboto';font-style:normal;font-weight:700;src:local('Roboto Bold'),local('Roboto-Bold'),url('../fonts/roboto-v19-regular-700.woff2') format('woff2'),url('../fonts/roboto-v19-regular-700.woff') format('woff')}@font-face{font-family:'Roboto';font-style:italic;font-weight:700;src:local('Roboto Bold Italic'),local('Roboto-BoldItalic'),url('../fonts/roboto-v19-italic-700.woff2') format('woff2'),url('../fonts/roboto-v19-italic-700.woff') format('woff')}body,button,input,optgroup,select,textarea,.popover{font-family:Roboto,sans-serif}button,input,select,textarea{line-height:initial}input{vertical-align:middle}a{color:#00acff}a:hover{color:#008acc}a.disabled{pointer-events:none}a.disabled:not(.btn){opacity:.5}.mce-content-body{margin:4px;color:#2c363a}.mce-content-body div.pre{font-family:monospace}.mce-content-body blockquote{border-left:#1010ff 2px solid;margin:0;padding:0 .4em}.rcmail-inline-message{font-family:Roboto,sans-serif;font-size:14px;padding:.5em;margin:0 0 .5em 0;opacity:.95;color:#2c363a;background-color:rgba(246,96,157,0.2);display:flex;align-items:center}.rcmail-inline-message:before{font-size:1.25em;display:block;float:left;margin:0 .25rem 0 0;width:1.18em;height:1em;font-family:'Icons';font-style:normal;font-weight:900;text-decoration:inherit;text-align:center;speak:none;font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;font-size:1.5em;line-height:1;width:1em;margin-right:.3em;content:"\f071";color:#f6609d}.rcmail-inline-message span{line-height:1.5}.rcmail-inline-message a{color:#00acff}.rcmail-inline-message a:hover{color:#008acc}.rcmail-inline-message button{vertical-align:middle;white-space:nowrap;padding:.375em .75em;margin-left:.5em;font-size:1em;line-height:1.5;border-radius:.25em;border:1px solid transparent;color:#fff;background:#50162d}.rcmail-inline-message button:focus{box-shadow:0 0 0 .2rem rgba(80,22,45,0.5)}.rcmail-inline-message button:hover{background:#300d1b;border-color:#280b17}.rcmail-inline-message button:not([disabled]):not(.disabled):active{background:#240a14;border-color:#1c0810;box-shadow:0 0 0 .2rem rgba(80,22,45,0.53)}.rcmail-inline-buttons{margin:0}

View File

@ -0,0 +1 @@
body{overflow:auto;height:auto}#print-layout{margin:1rem}#print-layout .image-attachment .image-link{margin-bottom:.5rem}#print-layout .image-attachment .attachment-links{display:none}#print-layout .header-content .message-partheaders{padding:0 !important;border:0;font-size:1rem;color:inherit}#print-layout #message-header{margin-bottom:.5rem}#print-layout .attachment-size{padding-left:.1rem}#print-layout .formcontent{padding:0}#print-layout .formcontent legend{margin-top:.5rem}#print-layout .formcontent .row .form-control-plaintext{padding:.1rem}#print-layout .formcontent .contactfield{padding:.2rem 0}#print-layout .propform.groupped .row.input-group .input-group-text{padding:0;min-width:12rem;background:#fff;border:0}#print-layout .contact-header{margin-bottom:0}

View File

@ -27,11 +27,6 @@
.mce-panel {
border-color: @color-input-border;
}
&.focused {
border-color: @color-input-border-focus !important;
box-shadow: 0 0 0 .2rem @color-input-border-focus-shadow !important;
}
}
.mce-top-part::before,
@ -88,12 +83,11 @@
right: 0;
top: 0;
position: absolute;
height: (@layout-header-height - .75rem);
height: (@layout-header-height - .7rem);
width: 1.25em;
margin: 0 .25rem;
margin: .25rem;
padding: .1rem .75rem;
cursor: pointer;
outline: 0;
&:before {
&:extend(.font-icon-class);
@ -899,7 +893,6 @@ html.touch .mce-grid td {
font-family: monospace;
width: 100% !important;
padding-top: 2.5rem;
resize: none;
}
& > iframe { // e.g. mailvelope frame
@ -911,6 +904,11 @@ html.touch .mce-grid td {
#composebody_ifr {
min-height: 30em;
}
& > .mce-tinymce.focused {
border-color: @color-input-border-focus;
box-shadow: 0 0 0 .2rem @color-input-border-focus-shadow !important;
}
}

View File

@ -833,7 +833,6 @@ html.ms .propform {
& > .invalid-feedback {
display: inline-block;
line-height: 1.5;
}
}
}
@ -958,6 +957,7 @@ html.ms .propform {
.name {
.overflow-ellipsis;
flex-grow: 1;
display: inline-block;
line-height: 1.1;
padding: floor(.25 * @page-font-size);
vertical-align: middle;
@ -990,10 +990,6 @@ html.ms .propform {
li {
max-width: 100%;
&:not(.recipient) {
user-select: text;
}
}
input {

View File

@ -540,12 +540,6 @@ ul.treelist {
&.archive > a:before {
.font-icon-solid(@fa-var-archive);
}
&.ns-shared > a:before {
.font-icon-solid(@fa-var-share-alt);
}
&.ns-other > a:before {
.font-icon-solid(@fa-var-user-friends);
}
}
// folder-selector fix for left padding

View File

@ -60,6 +60,14 @@
</div>
</div>
<roundcube:endif />
<roundcube:if condition="!in_array('htmleditor', (array)config:dont_override)" />
<div class="form-group row hidden">
<label for="editor-selector" class="col-form-label col-6"><roundcube:label name="editortype" /></label>
<div class="col-6">
<roundcube:object name="editorSelector" id="editor-selector" editorid="composebody" noform="true" tabindex="2" />
</div>
</div>
<roundcube:endif />
</div>
</div>
</div>
@ -207,9 +215,6 @@
<div id="composebodycontainer">
<label for="composebody" class="voice"><roundcube:label name="arialabelmessagebody" /></label>
<roundcube:object name="composeBody" id="composebody" form="form" cols="70" rows="20" class="form-control" tabindex="1" />
<roundcube:if condition="!in_array('htmleditor', (array)config:dont_override)" />
<roundcube:object name="editorSelector" id="editor-selector" editorid="composebody" noform="true" class="hidden" />
<roundcube:endif />
</div>
</form>
<div class="formbuttons">

View File

@ -1,4 +1,4 @@
<div class="pagenav menu footer small" role="toolbar" aria-label="<roundcube:label name="arialabellistnav" />">
<div class="pagenav menu footer small" role="toolbar">
<roundcube:button command="firstpage" type="link" class="firstpage disabled" classAct="firstpage"
title="firstpage" label="first" innerclass="inner" />
<roundcube:button command="previouspage" type="link" class="prevpage disabled" classAct="prevpage"

View File

@ -235,7 +235,7 @@ function rcube_elastic_ui()
// Image upload widget
$('.image-upload').each(function() { image_upload_input(this); });
// Add HTML/Plain switcher on top of textarea with TinyMCE editor
// Add HTML/Plain tabs (switch) on top of textarea with TinyMCE editor
$('textarea[data-html-editor]').each(function() { html_editor_init(this); });
$('#dragmessage-menu,#dragcontact-menu').each(function() {
@ -476,7 +476,6 @@ function rcube_elastic_ui()
.addEventListener('googiespell_create', rcmail_popup_init)
.addEventListener('setquota', update_quota)
.addEventListener('enable-command', enable_command_handler)
.addEventListener('clonerow', pretty_checkbox_fix)
.addEventListener('init', init);
// Add styling for TinyMCE editor popups
@ -707,10 +706,7 @@ function rcube_elastic_ui()
// In compose/preview window we do not provide "Back" button, instead
// we modify the "Mail" button in the task menu to act like it (i.e. calls 'list' command)
if (!rcmail.env.extwin && (rcmail.env.action == 'compose' || rcmail.env.action == 'show')) {
$('a.mail', layout.menu).attr({
'aria-disabled': false,
onclick: "return rcmail.command('list','',this,event);"
});
$('a.mail', layout.menu).attr('onclick', "return rcmail.command('list','',this,event)");
}
// Append contact menu to all mailto: links
@ -1179,10 +1175,6 @@ function rcube_elastic_ui()
*/
function content_frame_init()
{
if (!layout.list.length) {
return;
}
var last_selected = env.last_selected,
title_reset = function(title) {
if (typeof title !== 'string' || !title.length) {
@ -1359,7 +1351,7 @@ function rcube_elastic_ui()
function tinymce_init(o)
{
var onload = [],
is_editor = $('#' + o.id).parent().is('.html-editor');
is_editor = $('#' + o.id).is('[data-html-editor]');
// Enable autoresize plugin
o.config.plugins += ' autoresize';
@ -3120,9 +3112,9 @@ function rcube_elastic_ui()
*/
function recipient_input(obj)
{
var list, input, selection = '',
var list, input,
input_len_update = function() {
input.css('width', Math.max(5, input.val().length * 15 + 10));
input.css('width', Math.max(40, input.val().length * 15 + 25));
},
apply_func = function() {
// update the original input
@ -3173,8 +3165,8 @@ function rcube_elastic_ui()
return result.recipients.length > 0;
},
parse_func = function(e, ac) {
var last, paste, value = this.value;
parse_func = function(e) {
var paste, value = this.value;
// On paste the text is not yet in the input we have to use clipboard.
// Also because on paste new-line characters are replaced by spaces (#6460)
@ -3185,16 +3177,6 @@ function rcube_elastic_ui()
value = value.substring(0, this.selectionStart) + paste + value.substring(this.selectionEnd);
e.preventDefault();
}
// #7231: When clicking on autocompletion list a change event
// is fired twice. We have to remove last recipient box if it is
// the same recpient (with incomplete email address).
// FIXME: Anyone with a better solution?
else if (ac) {
last = list.find('li.recipient').last();
if (last.length && this.value.indexOf(last.text().replace(/[ ,]+$/, '')) > -1) {
last.remove();
}
}
update_func(value);
},
@ -3225,9 +3207,7 @@ function rcube_elastic_ui()
list = $('<ul>').addClass('form-control recipient-input ac-input rounded-left')
.append($('<li>').append(input))
// "selection" hack to allow text selection in the recipient box or multiple boxes (#7129)
.on('mouseup', function () { selection = window.getSelection().toString(); })
.on('click', function() { if (!selection.length) input.focus(); });
.on('click', function() { input.focus(); });
// Hide the original input/textarea
// Note: we do not remove the original element, and we do not use
@ -3447,19 +3427,6 @@ function rcube_elastic_ui()
.parent().append(label);
};
/**
* Fix pretty checkbox input in a cloned element
*/
function pretty_checkbox_fix(params)
{
var id, input = $(params.row).find('input[id^=icochk]');
if (input.length) {
id = 'icochk' + (++env.checkboxes);
input.attr('id', id).next('label').attr('for', id);
}
};
/**
* Make select dropdowns pretty
* TODO: searching, optgroup, [multiple], iPhone/iPad
@ -3688,7 +3655,7 @@ function rcube_elastic_ui()
function html_editor_init(obj)
{
// Here we support two structures
// 1. <div><textarea></textarea><select class="hidden"></div>
// 1. <div><textarea></textarea><select name="editorSelector"></div>
// 2. <tr><td><td><td><textarea></textarea></td></tr>
// <tr><td><td><td><input type="checkbox"></td></tr>
@ -3715,12 +3682,9 @@ function rcube_elastic_ui()
is_table = true;
}
else {
sw = editor.next('select.hidden');
sw = $('[name="editorSelector"]', obj.form);
}
// make the textarea autoresizeable
textarea_autoresize_init(editor);
// sanity check
if (sw.length != 1) {
return;
@ -3743,6 +3707,9 @@ function rcube_elastic_ui()
// Modify the textarea cell to use 100% width
parent.addClass('col-sm-12');
}
// make the textarea autoresizeable
textarea_autoresize_init(editor);
};
/**
@ -3751,40 +3718,37 @@ function rcube_elastic_ui()
*/
function textarea_autoresize_init(textarea)
{
var padding = parseInt($(textarea).css('padding-top')) + parseInt($(textarea).css('padding-bottom')) + 2,
// FIXME: Is there a better way to get initial height of the textarea?
// At this moment clientHeight/offsetHeight is 0.
min_height = ($(textarea)[0].rows || 5) * 21,
resize = function(e) {
if (this.scrollHeight - padding <= min_height) {
var resize = function(e) {
clearTimeout(env.textarea_timer);
env.textarea_timer = setTimeout(function() {
var area = $(e.target),
initial_height = area.data('initial-height'),
scroll_height = area[0].scrollHeight;
// do nothing when the area is hidden
if (!scroll_height) {
return;
}
// To fix scroll-jump issue in Edge we'll find the scrolling parent
// and re-apply scrollTop value after we reset textarea height
var scroll_element, scroll_pos = 0;
$(e.target).parents().each(function() {
if (this.scrollTop > 0) {
scroll_element = this;
scroll_pos = this.scrollTop;
return false;
}
});
var oldHeight = $(this).outerHeight();
$(this).outerHeight(0);
var newHeight = Math.max(min_height, this.scrollHeight);
$(this).outerHeight(oldHeight);
if (newHeight !== oldHeight) {
$(this).height(newHeight);
if (!initial_height) {
area.data('initial-height', initial_height = scroll_height);
}
if (scroll_pos) {
scroll_element.scrollTop = scroll_pos;
// strange effect in Chrome/Firefox when you delete a line in the textarea
// the scrollHeight is not decreased by the line height, but by 2px
// so jumps up many times in small steps, we'd rather use one big step
if (area.outerHeight() - scroll_height == 2) {
scroll_height -= 19; // 21px is the assumed line height
}
};
$(textarea).on('input', resize).trigger('input');
area.outerHeight(Math.max(initial_height, scroll_height));
}, 10);
};
$(textarea).css('overflow-y', 'hidden').on('input', resize).trigger('input');
// Make sure the height is up-to-date also in time intervals
setInterval(function() { $(textarea).trigger('input'); }, 1000);
};
// Inititalizes smart list input

130
beetroot/ui.min.js vendored Normal file
View File

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

View File

@ -22,7 +22,7 @@
padding: 0;
margin: 0 5px;
overflow: hidden;
background: url(images/abook_toolbar.png) 0 0 no-repeat transparent;
background: url(images/abook_toolbar.png?v=8259.4881) 0 0 no-repeat transparent;
opacity: 0.99; /* this is needed to make buttons appear correctly in Chrome */
}
@ -43,12 +43,12 @@
}
#abooktoolbar a.print {
background: url(images/mail_toolbar.png) 0 0 no-repeat transparent;
background: url(images/mail_toolbar.png?v=2271.13035) 0 0 no-repeat transparent;
background-position: -256px 0;
}
#abooktoolbar a.printSel {
background: url(images/mail_toolbar.png) 0 0 no-repeat transparent;
background: url(images/mail_toolbar.png?v=2271.13035) 0 0 no-repeat transparent;
background-position: -256px -32px;
}
@ -93,14 +93,14 @@
}
#abooktoolbar a.contactmenu {
background: url(images/mail_toolbar.png) 0 0 no-repeat transparent;
background: url(images/mail_toolbar.png?v=2271.13035) 0 0 no-repeat transparent;
background-position: -320px 0;
width: 34px;
}
#contactmenu li a
{
background: url(images/contactactions.png) no-repeat 7px 0;
background: url(images/contactactions.png?v=c9af.1114) no-repeat 7px 0;
background-position: 7px 20px;
}
@ -121,13 +121,13 @@
#contactmenu li a.movelink
{
background: url(images/messageactions.png) no-repeat 7px 0;
background: url(images/messageactions.png?v=8c64.2615) no-repeat 7px 0;
background-position: 6px -160px;
}
#contactmenu li a.copylink
{
background: url(images/messageactions.png) no-repeat 7px 0;
background: url(images/messageactions.png?v=8c64.2615) no-repeat 7px 0;
background-position: 6px -142px;
}
@ -193,7 +193,7 @@
height: 16px;
text-decoration: none;
white-space: nowrap;
background-image: url(images/icons/folders.png);
background-image: url(images/icons/folders.png?v=7c4f.5218);
background-position: 5px -108px;
background-repeat: no-repeat;
}

1
classic/addressbook.min.css vendored Normal file

File diff suppressed because one or more lines are too long

View File

@ -102,7 +102,7 @@ input.button
font-size: 12px;
padding-left: 8px;
padding-right: 8px;
background: url(images/buttons/bg.gif) repeat-x #f0f0f0;
background: url(images/buttons/bg.gif?v=0200.203) repeat-x #f0f0f0;
border: 1px solid #a4a4a4;
}
@ -216,7 +216,7 @@ body > #logo
right: 0px;
height: 24px;
left: 250px;
background: url(images/taskbar.png) top right no-repeat;
background: url(images/taskbar.png?v=11a3.1640) top right no-repeat;
padding: 10px 6px 5px 0px;
text-align: right;
white-space: nowrap;
@ -229,7 +229,7 @@ body > #logo
color: #666666;
text-decoration: none;
padding: 6px 12px 6px 26px;
background: url(images/taskicons.gif) no-repeat;
background: url(images/taskicons.gif?v=9719.2207) no-repeat;
}
#taskbar a:hover
@ -281,7 +281,7 @@ body > #messagebody .part-notice,
body > #mainscreen #messagebody .part-notice,
#message-objects div.notice
{
background: url(images/display/icons.png) 6px 3px no-repeat;
background: url(images/display/icons.png?v=e866.4201) 6px 3px no-repeat;
background-color: #F7FDCB;
border: 1px solid #C2D071;
}
@ -291,7 +291,7 @@ body > #message div.warning,
#message-objects div.warning,
#message-objects div.error
{
background: url(images/display/icons.png) 6px -97px no-repeat;
background: url(images/display/icons.png?v=e866.4201) 6px -97px no-repeat;
background-color: #EF9398;
border: 1px solid #DC5757;
}
@ -299,7 +299,7 @@ body > #message div.warning,
body > #message div.confirmation,
#message-objects div.confirmation
{
background: url(images/display/icons.png) 6px -47px no-repeat;
background: url(images/display/icons.png?v=e866.4201) 6px -47px no-repeat;
background-color: #A6EF7B;
border: 1px solid #76C83F;
}
@ -308,7 +308,7 @@ body > #message div.loading,
body > #message div.uploading,
#message-objects div.loading
{
background: url(images/display/loading.gif) 6px 3px no-repeat;
background: url(images/display/loading.gif?v=9bae.2710) 6px 3px no-repeat;
background-color: #EBEBEB;
border: 1px solid #CCCCCC;
}
@ -352,7 +352,7 @@ body.extwin #closelink
text-overflow: ellipsis;
-o-text-overflow: ellipsis;
white-space: nowrap;
background: url(images/listheader.gif) top left repeat-x #CCC;
background: url(images/listheader.gif?v=ab42.314) top left repeat-x #CCC;
}
.boxtitle .rightalign
@ -379,7 +379,7 @@ body.iframe .boxtitle
margin: 0 0 10px;
display: block;
min-height: 22px;
background: url(images/display/icons.png) #EF9398 6px -95px no-repeat;
background: url(images/display/icons.png?v=e866.4201) #EF9398 6px -95px no-repeat;
border: 1px solid #DC5757;
padding: 8px 10px 8px 46px;
}
@ -411,7 +411,7 @@ body.iframe .boxtitle
overflow: hidden;
height: 22px;
border-bottom: 1px solid #999;
background: url(images/listheader.gif) top left repeat-x #CCC;
background: url(images/listheader.gif?v=ab42.314) top left repeat-x #CCC;
}
.boxfooter
@ -423,7 +423,7 @@ body.iframe .boxtitle
overflow: hidden;
height: 22px;
border-top: 1px solid #999;
background: url(images/listheader.gif) top left repeat-x #CCC;
background: url(images/listheader.gif?v=ab42.314) top left repeat-x #CCC;
}
.boxfooter a.button,
@ -436,7 +436,7 @@ body.iframe .boxtitle
padding: 0px;
margin: 0;
overflow: hidden;
background: url(images/icons/groupactions.png) 0 0 no-repeat transparent;
background: url(images/icons/groupactions.png?v=6760.604) 0 0 no-repeat transparent;
opacity: 0.99; /* this is needed to make buttons appear correctly in Chrome */
}
@ -472,7 +472,7 @@ body.iframe .boxtitle
padding: 0;
margin: 1px;
overflow: hidden;
background: url(images/pagenav.gif) 0 0 no-repeat transparent;
background: url(images/pagenav.gif?v=8464.1147) 0 0 no-repeat transparent;
opacity: 0.99; /* this is needed to make buttons appear correctly in Chrome */
}
@ -532,7 +532,7 @@ body.iframe .boxtitle
padding: 0;
margin: 0 5px;
overflow: hidden;
background: url(images/abook_toolbar.png) -162px 0 no-repeat transparent;
background: url(images/abook_toolbar.png?v=8259.4881) -162px 0 no-repeat transparent;
opacity: 0.99; /* this is needed to make buttons appear correctly in Chrome */
}
@ -542,7 +542,7 @@ body.iframe .boxtitle
-moz-user-select: none;
-khtml-user-select: none;
position: absolute;
background: url(images/dimple.png) center no-repeat;
background: url(images/dimple.png?v=42a0.158) center no-repeat;
}
.splitter-h
@ -637,7 +637,7 @@ body.iframe .boxtitle
.popupmenu.selectable li a.selected
{
background: url(images/messageicons.png) 2px -372px no-repeat;
background: url(images/messageicons.png?v=c493.2511) 2px -372px no-repeat;
}
.popupmenu.selectable li a
@ -659,13 +659,13 @@ body.iframe .boxtitle
.dropbutton:hover
{
/* background: url(images/dbutton.png) 0 0 no-repeat transparent; */
/* background: url(images/dbutton.png?v=4d5a.230) 0 0 no-repeat transparent; */
}
.dropbutton span
{
width: 9px;
background: url(images/dbutton.png) -53px 0 no-repeat transparent;
background: url(images/dbutton.png?v=4d5a.230) -53px 0 no-repeat transparent;
}
.dropbutton span:hover
@ -706,7 +706,7 @@ table.records-table thead tr td
vertical-align: middle;
border-bottom: 1px solid #999999;
color: #333333;
background: url(images/listheader.gif) top left repeat-x #CCC;
background: url(images/listheader.gif?v=ab42.314) top left repeat-x #CCC;
font-size: 11px;
font-weight: bold;
text-align: left;
@ -777,12 +777,12 @@ ul.treelist ul ul li div.treetoggle
ul.treelist li div.collapsed
{
background: url(images/icons/collapsed.png) bottom right no-repeat;
background: url(images/icons/collapsed.png?v=45aa.97) bottom right no-repeat;
}
ul.treelist li div.expanded
{
background: url(images/icons/expanded.png) bottom right no-repeat;
background: url(images/icons/expanded.png?v=3a53.89) bottom right no-repeat;
}
ul.treelist,
@ -896,7 +896,7 @@ ul.treelist li.droptarget
padding-bottom: 2px;
text-decoration: none;
height: 15px;
background: url(images/icons/folders.png) 5px 1px no-repeat;
background: url(images/icons/folders.png?v=7c4f.5218) 5px 1px no-repeat;
}
.folderlist li.virtual > a
@ -1007,7 +1007,7 @@ div.searchbox,
width: 190px;
height: 20px;
text-align: right;
background: url(images/searchfield.gif) top left no-repeat;
background: url(images/searchfield.gif?v=36a5.397) top left no-repeat;
}
#quicksearchbar
@ -1043,7 +1043,7 @@ div.searchbox a.searchreset
overflow: hidden;
white-space: nowrap;
text-indent: 50000px;
background: url(images/icons/reset.gif) top left no-repeat;
background: url(images/icons/reset.gif?v=a31d.164) top left no-repeat;
}
div.searchbox a.searchicon
@ -1052,7 +1052,7 @@ div.searchbox a.searchicon
width: 16px;
height: 16px;
overflow: hidden;
background: url(images/icons/glass.png) top left no-repeat;
background: url(images/icons/glass.png?v=dcbc.302) top left no-repeat;
}
#quicksearchbar img
@ -1115,7 +1115,7 @@ div.searchbox > input
.listsearchbox a.iconbutton.reset
{
background: url(images/icons/reset.gif) no-repeat 0 0;
background: url(images/icons/reset.gif?v=a31d.164) no-repeat 0 0;
width: 13px;
height: 13px;
text-indent: 50000px;
@ -1168,7 +1168,7 @@ div.searchbox > input
content: " ";
width: 14px;
height: 14px;
background: url(images/messageactions.png) -2px -128px no-repeat;
background: url(images/messageactions.png?v=8c64.2615) -2px -128px no-repeat;
}
a.rcmContactAddress
@ -1396,7 +1396,7 @@ ul.toolbarmenu li.separator_above
#folder-selector li span
{
background: url(images/icons/folders.png) no-repeat 6px 0;
background: url(images/icons/folders.png?v=7c4f.5218) no-repeat 6px 0;
display: block;
height: 15px;
min-height: 14px;
@ -1466,7 +1466,7 @@ span.tablink-selected
height: 23px !important;
height: 22px;
overflow: hidden;
background: url(images/tabs-left.gif) top left no-repeat;
background: url(images/tabs-left.gif?v=d7b0.230) top left no-repeat;
}
span.tablink
@ -1493,7 +1493,7 @@ span.tablink-selected a
overflow: hidden;
text-overflow: ellipsis;
-o-text-overflow: ellipsis;
background: url(images/tabs-right.gif) top right no-repeat;
background: url(images/tabs-right.gif?v=5c83.1417) top right no-repeat;
}
span.tablink-selected a
@ -1529,9 +1529,9 @@ fieldset.tabbed
cursor: default;
}
.quota_bg { background-color: white; }
.quota_high { background: url(images/quota-colors.png) repeat-x 0 -28px #f90509; }
.quota_mid { background: url(images/quota-colors.png) repeat-x 0 -14px #e3e909; }
.quota_low { background: url(images/quota-colors.png) repeat-x 0 0px #05f905; }
.quota_high { background: url(images/quota-colors.png?v=e7fa.219) repeat-x 0 -28px #f90509; }
.quota_mid { background: url(images/quota-colors.png?v=e7fa.219) repeat-x 0 -14px #e3e909; }
.quota_low { background: url(images/quota-colors.png?v=e7fa.219) repeat-x 0 0px #05f905; }
.quota_text_high { color: white; }
.quota_text_mid { color: #666; }
.quota_text_low { color: #666; }
@ -1594,7 +1594,7 @@ table.quota-info td.root {
}
#image-selector-form.droptarget {
background: url(images/filedrop.png) center bottom no-repeat;
background: url(images/filedrop.png?v=080e.581) center bottom no-repeat;
}
#image-selector-form.droptarget.hover

1
classic/common.min.css vendored Normal file

File diff suppressed because one or more lines are too long

View File

@ -16,7 +16,7 @@
margin-bottom: .8em;
min-height: 30px;
padding: 10px 10px 6px 46px;
background: url(images/display/icons.png) 6px 3px no-repeat #F7FDCB;
background: url(images/display/icons.png?v=e866.4201) 6px 3px no-repeat #F7FDCB;
border: 1px solid #C2D071;
}

1
classic/embed.min.css vendored Normal file
View File

@ -0,0 +1 @@
.rcmail-inline-message{font-family:sans-serif;font-size:14px;color:#000;margin-bottom:.8em;min-height:30px;padding:10px 10px 6px 46px;background:url(images/display/icons.png?v=e866.4201) 6px 3px no-repeat #f7fdcb;border:1px solid #c2d071}.rcmail-inline-warning{background-position:6px -92px}.rcmail-inline-message>button{margin-left:1em;vertical-align:baseline}.rcmail-inline-message em{font-size:90%;color:#666}.rcmail-inline-buttons{margin-bottom:0}

59
classic/functions.min.js vendored Normal file
View File

@ -0,0 +1,59 @@
/**
* Roundcube functions for default skin interface
*
* @licstart The following is the entire license notice for the
* JavaScript code in this file.
*
* Copyright (c) The Roundcube Dev Team
*
* The JavaScript code in this page is free software: you can redistribute it
* and/or modify it under the terms of the GNU General Public License
* as published by the Free Software Foundation, either version 3 of
* the License, or (at your option) any later version.
*
* @licend The above is the entire license notice
* for the JavaScript code in this file.
*/
function rcube_init_settings_tabs(){var a;var b=$("#tabsbar");var d=$("span",b).last(),c="#settingstabpreferences",e=window.rcmail&&rcmail.env.action?rcmail.env.action:null;d&&"settingstababout"!=d.attr("id")&&(a=$("#settingstababout"))&&(b=a.clone(!0),a.remove(),d.after(b));e&&(c="#settingstab"+(0<e.indexOf("identity")?"identities":e.replace(/\./g,"")));$(c).addClass("tablink-selected");$("a",c).removeAttr("onclick").click(function(){return!1})}
function rcube_init_tabs(a,b){var d=$("#"+a),c=d.children("fieldset");if(c.length){b=b?b:0;var e=d.find(".tabsbar");e.length||(e=$("<div>").addClass("tabsbar").appendTo(d));c.each(function(d){var c=$(this),f=c.children("legend");if(c.is(":visible")&&!c.hasClass("tabbed")){var l=$("<a>").text(f.text()).attr("href","#");var h=$("<span>").attr({id:"tab"+d,"class":"tablink"}).click(function(){rcube_show_tab(a,d);return!1});f.remove();c.addClass("tabbed");d==b&&h.addClass("tablink-selected");h.append(l).appendTo(e)}});
c.each(function(a){a!=b&&$(this).hide()})}}function rcube_show_tab(a,b){$("#"+a).children("fieldset").each(function(a){$(this)[b==a?"show":"hide"]();$("#tab"+a).toggleClass("tablink-selected",a==b)})}
function rcube_mail_ui(){this.popups={markmenu:{id:"markmessagemenu"},replyallmenu:{id:"replyallmenu"},forwardmenu:{id:"forwardmenu",editable:1},searchmenu:{id:"searchmenu",editable:1},messagemenu:{id:"messagemenu"},attachmentmenu:{id:"attachmentmenu"},dragmenu:{id:"dragmenu",sticky:1},groupmenu:{id:"groupoptionsmenu",above:1},mailboxmenu:{id:"mailboxoptionsmenu",above:1},composemenu:{id:"composeoptionsmenu",editable:1,overlap:1},spellmenu:{id:"spellmenu"},responsesmenu:{id:"responsesmenu"},uploadmenu:{id:"attachment-form",
editable:1,above:1,toggle:!bw.ie&&!bw.linux},uploadform:{id:"upload-form",editable:1,toggle:!bw.ie&&!bw.linux}};var a;for(a in this.popups){var b=$("#"+this.popups[a].id);b.length?this.popups[a].obj=b:delete this.popups[a]}}
rcube_mail_ui.prototype={show_popup:function(a,b,d){var c;!this.popups[a]&&(c=$("#"+a))&&c.length&&(this.popups[a]=$.extend(d,{id:a,obj:c}));return"function"==typeof this[a]?this[a](b):this.show_popupmenu(a,b)},show_popupmenu:function(a,b){var d=this.popups[a].obj,c=this.popups[a].above,e=$(this.popups[a].link?this.popups[a].link:rcube_find_object(a+"link"));"undefined"==typeof b?b=d.is(":visible")?!1:!0:this.popups[a].toggle&&b&&this.popups[a].obj.is(":visible")&&(b=!1);if(b&&e.length){var f=e.parent();
a=$(window);f=f.hasClass("dropbutton")?f.offset():e.offset();!c&&f.top+e.height()+d.height()>a.height()&&(c=!0);f.left+d.width()>a.width()&&(f.left=a.width()-d.width()-30);d.css({left:f.left,top:f.top+(c?-d.height():e.height())})}d[b?"show":"hide"]()},dragmenu:function(a){this.popups.dragmenu.obj[a?"show":"hide"]()},forwardmenu:function(a){$("input[name='forwardtype'][value="+(rcmail.env.forward_attachment?1:0)+"]",this.popups.forwardmenu.obj).prop("checked",!0);this.show_popupmenu("forwardmenu",
a)},uploadmenu:function(a){"object"==typeof a&&(a=!1);if(!a)try{$("#attachment-form form")[0].reset()}catch(b){}rcmail.mailvelope_editor||(this.show_popupmenu("uploadmenu",a),!document.all&&this.popups.uploadmenu.obj.is(":visible")&&$("#attachment-form input[type=file]").click())},searchmenu:function(a){var b=this.popups.searchmenu.obj,d=rcube_find_object("searchmenulink");"undefined"==typeof a&&(a=b.is(":visible")?!1:!0);if(a&&d){var c=$(d).offset();b.css({left:c.left,top:c.top+d.offsetHeight+2});
if(rcmail.env.search_mods){var e;d=$('input:checkbox[name="s_mods[]"]',b);c=rcmail.env.mailbox;var f=rcmail.env.search_mods,g=rcmail.env.search_scope||"base";if("mail"==rcmail.env.task){f=f[c]?f[c]:f["*"];var k="text";$('input:radio[name="s_scope"]').prop("checked",!1).filter("#s_scope_"+g).prop("checked",!0)}else k="*";if(f[k])d.map(function(){this.checked=!0;this.disabled=this.value!=k});else for(e in d.prop("disabled",!1).prop("checked",!1),f)$("#s_mod_"+e).prop("checked",!0)}}b[a?"show":"hide"]()},
set_searchmod:function(a){var b=rcmail.env.task;var d=rcmail.env.search_mods,c=rcmail.env.mailbox;"all"==$('input[name="s_scope"]:checked').val()&&(c="*");d||(d={});if("mail"==b){d[c]||(d[c]=rcube_clone_object(d["*"]));var e=d[c];b="text"}else e=d,b="*";a.checked?e[a.value]=1:delete e[a.value];a.value==b&&$('input:checkbox[name="s_mods[]"]').map(function(){this!=a&&(this.checked=!0,a.checked?(this.disabled=!0,delete e[this.value]):(this.disabled=!1,e[this.value]=1))});rcmail.set_searchmods(e)},show_listmenu:function(a){var b=
this,d={},c=$("#listmenu");c.is(":visible")?c.dialog("close",a.originalEvent):($('input[name="sort_col"][value="'+rcmail.env.sort_col+'"]').prop("checked",!0),$('input[name="sort_ord"][value="DESC"]').prop("checked","DESC"==rcmail.env.sort_order),$('input[name="sort_ord"][value="ASC"]').prop("checked","DESC"!=rcmail.env.sort_order),$('input[name="view"][value="thread"]').prop("checked",rcmail.env.threading?!0:!1),$('input[name="view"][value="list"]').prop("checked",rcmail.env.threading?!1:!0),$('input[name="list_col[]"]').each(function(){$(this).prop("checked",
-1!=$.inArray(this.value,rcmail.env.listcols))}),$.each(["widescreen","desktop","list"],function(){$('input[name="layout"][value="'+this+'"]').prop("checked",rcmail.env.layout==this)}),$("#listoptions-columns",c)["widescreen"==rcmail.env.layout?"hide":"show"](),d[rcmail.gettext("save")]=function(a){c.dialog("close",a);b.save_listmenu()},c.dialog({modal:!0,resizable:!1,closeOnEscape:!0,title:null,open:function(a){var b=0;$("#listmenu fieldset").each(function(){var a=$(this).height();a>b&&(b=a)}).css("min-height",
b+"px").height(b);setTimeout(function(){c.find("a, input:not(:disabled)").not("[aria-disabled=true]").first().focus()},100)},close:function(a){c.dialog("destroy").hide();a.originalEvent&&rcube_event.is_keyboard(a.originalEvent)&&$("#listmenulink").focus()},buttons:d,minWidth:500,width:c.width()+20}).show())},save_listmenu:function(){var a=$('input[name="sort_col"]:checked').val(),b=$('input[name="sort_ord"]:checked').val(),d=$('input[name="view"]:checked').val(),c=$('input[name="layout"]:checked').val(),
e=$('input[name="list_col[]"]:checked').map(function(){return this.value}).get();rcmail.set_list_options(e,a,b,"thread"==d?1:0,c)},spellmenu:function(a){var b=rcmail.spellcheck_lang(),d=this.popups.spellmenu.obj,c=$("ul",d);if(!c.length){c=$("<ul>");for(i in rcmail.env.spell_langs){var e=$("<li>");var f=$('<a href="#"></a>').text(rcmail.env.spell_langs[i]).addClass("active").data("lang",i).click(function(){rcmail.spellcheck_lang_set($(this).data("lang"))});f.appendTo(e);e.appendTo(c)}c.appendTo(d)}$("li",
c).each(function(){var a=$("a",this);a.data("lang")==b?a.addClass("selected"):a.hasClass("selected")&&a.removeClass("selected")});this.show_popupmenu("spellmenu",a)},show_attachmentmenu:function(a,b){var d=a.parentNode.id.replace(/^attach/,"");$.each(["open","download","rename"],function(){var a=this;$("#attachmenu"+a).off("click").attr("onclick","").click(function(b){return rcmail.command(a+"-attachment",d,this)})});this.popups.attachmentmenu.link=a;rcmail.command("menu-open",{menu:"attachmentmenu",
id:d},a,b)},menu_open:function(a){a&&"messagelistmenu"==a.name&&this.show_listmenu()},body_mouseup:function(a){var b=a.target;ref=this;$.each(this.popups,function(d,c){!c.obj.is(":visible")||b==rcube_find_object(d+"link")||c.toggle||b==c.obj.get(0)||c.editable&&ref.target_overlaps(b,c.id)||c.sticky&&rcube_mouse_is_over(a,rcube_find_object(c.id))||$(b).is(".folder-selector-link")||$(b).children(".folder-selector-link").length||window.setTimeout('rcmail_ui.show_popup("'+d+'",false);',50)})},target_overlaps:function(a,
b){for(b=rcube_find_object(b);a.parentNode;){if(a.parentNode==b)return!0;a=a.parentNode}return!1},body_keydown:function(a){if(27==a.keyCode)for(var b in this.popups)this.popups[b].obj.is(":visible")&&this.show_popup(b,!1)},set_layout:function(a){var b=a?a.new_layout:rcmail.env.layout,d=$("#mailcontframe"),c=$("#mailpreviewframe");a&&$("#mailrightcontainer").removeClass().addClass(b);this.mailviewsplitv||(this.mailviewsplitv=new rcube_splitter({id:"mailviewsplitterv",p1:"mailleftcontainer",p2:"mailrightcontainer",
orientation:"v",relative:!0,start:165,callback:rcube_render_mailboxlist}),this.mailviewsplitv.init());$("#mailviewsplitter")["desktop"==b?"show":"hide"]();$("#mailviewsplitter2")["widescreen"==b?"show":"hide"]();$("#mailpreviewframe")["list"!=b?"show":"hide"]();rcmail.env.contentframe="list"==b?null:"messagecontframe";"widescreen"==b?($("#countcontrols").detach().appendTo($("#messagelistheader")),d.css({height:"auto",width:400}),c.css({top:0,left:410,height:"auto"}).show(),this.mailviewsplit2?this.mailviewsplit2.resize():
(this.mailviewsplit2=new rcube_splitter({id:"mailviewsplitter2",p1:"mailcontframe",p2:"mailpreviewframe",orientation:"v",relative:!0,start:405}),this.mailviewsplit2.init())):"desktop"==b?(d.css({height:200,width:"100%"}),c.css({left:0,top:210,height:"auto"}).show(),this.mailviewsplit?this.mailviewsplit.resize():(this.mailviewsplit=new rcube_splitter({id:"mailviewsplitter",p1:"mailcontframe",p2:"mailpreviewframe",orientation:"h",relative:!0,start:205}),this.mailviewsplit.init())):(d.css({height:"auto",
width:"100%"}),c.hide());a&&"widescreen"==a.old_layout&&$("#countcontrols").detach().appendTo($("#messagelistfooter"))},init_compose_form:function(){var a,b=["cc","bcc","replyto","followupto"],d=document.getElementById("compose-div"),c=document.getElementById("compose-headers-div");for(a=0;a<b.length;a++){var e=b[a];var f=$("#_"+e);f.length&&(f.on("change",{v:e},function(a){this.value&&rcmail_ui.show_header_form(a.data.v)}),""!=f.val()&&rcmail_ui.show_header_form(e))}bw.ie&&(rcube_find_object("form").onkeydown=
function(a){27==rcube_event.get_keycode(a)&&rcube_event.cancel(a)});$(window).resize(function(){rcmail_ui.resize_compose_body()});$("#compose-container").resize(function(){rcmail_ui.resize_compose_body()});d.style.top=parseInt(c.offsetHeight,10)+3+"px";$(window).resize();$("#contacts-table").css("top",$("#directorylist").height()+24+"px");$("#quicksearchbox").keydown(function(a){13==rcube_event.get_keycode(a)&&rcmail.command("search")})},resize_compose_body:function(){var a=$("#compose-div .boxlistcontent"),
b=a.width()-6;a=a.height()-2;var d=bw.ie||bw.opera?4:0;$("#compose-body_ifr").width(b+6).height(a-1-$("div.mce-toolbar").height());$("#compose-body").width(b-d).height(a);$("#googie_edit_layer").width(b).height(a)},resize_compose_body_ev:function(){window.setTimeout(function(){rcmail_ui.resize_compose_body()},100)},show_header_form:function(a){var b,d=document.getElementById(a+"-link");if(b=this.next_sibling(d))b.style.display="none";else if(b=this.prev_sibling(d))b.style.display="none";d.style.display=
"none";if(a=document.getElementById("compose-"+a))b=document.getElementById("compose-div"),d=document.getElementById("compose-headers-div"),$(a).show(),b.style.top=parseInt(d.offsetHeight,10)+3+"px",this.resize_compose_body();return!1},hide_header_form:function(a){var b,d=document.getElementById(a+"-link"),c=d.parentNode.getElementsByTagName("a");d.style.display="";for(d=0;d<c.length;d++)if("none"!=c[d].style.display)for(var e=d+1;e<c.length;e++)if("none"!=c[e].style.display&&(b=this.next_sibling(c[d]))){b.style.display=
"";break}document.getElementById("_"+a).value="";if(a=document.getElementById("compose-"+a))b=document.getElementById("compose-div"),c=document.getElementById("compose-headers-div"),a.style.display="none",b.style.top=parseInt(c.offsetHeight,10)+1+"px",this.resize_compose_body();return!1},next_sibling:function(a){for(a=a.nextSibling;a&&3==a.nodeType;)a=a.nextSibling;return a},prev_sibling:function(a){for(a=a.previousSibling;a&&3==a.nodeType;)a=a.previousSibling;return a},enable_command:function(a){"reply-list"==
a.command&&1==rcmail.env.reply_all_mode?(a=rcmail.gettext(a.status?"replylist":"replyall"),$("a.button.replyAll").attr("title",a)):"compose-encrypted"==a.command?$("#messagetoolbar a.encrypt").parent().show():"compose-encrypted-signed"==a.command&&$("#encryptionmenulink").show()},folder_search_init:function(a){$(".boxtitle a.search",a).click(function(b){var d=$(".boxtitle",a),c=$(".listsearchbox",a),e=c.is(":visible")?-1:1,f=24+($("select",c).length?24:0);c.slideToggle({duration:160,progress:function(b,
c){0>e&&(c=1-c);$(".boxlistcontent",a).css("top",d.outerHeight()+f*c+"px")},complete:function(){c.toggleClass("expanded");c.is(":visible")?c.find("input[type=text]").focus():$("a.reset",c).click()}});return!1})}};
function rcube_layer(a,b){this.name=a;this.create=function(a){var b=a.x?a.x:0,d=a.y?a.y:0,f=a.width,g=a.height,k=a.zindex,l=a.vis;a=a.parent;var h=document.createElement("DIV");h.id=this.name;h.style.position="absolute";h.style.visibility=l?2==l?"inherit":"visible":"hidden";h.style.left=b+"px";h.style.top=d+"px";f&&(h.style.width=f.toString().match(/%$/)?f:f+"px");g&&(h.style.height=g.toString().match(/%$/)?g:g+"px");k&&(h.style.zIndex=k);a?a.appendChild(h):document.body.appendChild(h);this.elm=h};
null!=b?(this.create(b),this.name=this.elm.id):this.elm=document.getElementById(a);if(!this.elm)return!1;this.css=this.elm.style;this.event=this.elm;this.width=this.elm.offsetWidth;this.height=this.elm.offsetHeight;this.x=parseInt(this.elm.offsetLeft);this.y=parseInt(this.elm.offsetTop);this.visible="visible"==this.css.visibility||"show"==this.css.visibility||"inherit"==this.css.visibility?!0:!1;this.move=function(a,b){this.x=a;this.y=b;this.css.left=Math.round(this.x)+"px";this.css.top=Math.round(this.y)+
"px"};this.resize=function(a,b){this.css.width=a+"px";this.css.height=b+"px";this.width=a;this.height=b};this.show=function(a){1==a?(this.css.visibility="visible",this.visible=!0):2==a?(this.css.visibility="inherit",this.visible=!0):(this.css.visibility="hidden",this.visible=!1)};this.write=function(a){this.elm.innerHTML=a}}
function rcmail_scroller(a,b,d){var c=this;this.list=$(a);this.top=$(b);this.bottom=$(d);this.step_size=6;this.step_time=20;this.delay=500;this.top.mouseenter(function(){c.ts=window.setTimeout(function(){c.scroll("down")},c.delay)}).mouseout(function(){c.ts&&window.clearTimeout(c.ts)});this.bottom.mouseenter(function(){c.ts=window.setTimeout(function(){c.scroll("up")},c.delay)}).mouseout(function(){c.ts&&window.clearTimeout(c.ts)});this.scroll=function(a){var b=this,c=this.step_size;rcmail.drag_active&&
("down"==a&&(c*=-1),this.list.get(0).scrollTop+=c,this.ts=window.setTimeout(function(){b.scroll(a)},this.step_time))}}
function rcube_render_mailboxlist(){var a=$("#mailboxlist > li > a, #mailboxlist ul:visible > li > a");100<a.length||a.each(function(){var a=$(this),d=a.data("text");d||(d=a.text().replace(/\s+\([0-9]+\)$/,""),a.data("text",d));if(!(6>d.length)){var c=fit_string_to_size(d,a,a.width()-a.children("span.unreadcount").width()-16);c!=d&&a.attr("title",d);a.contents().filter(function(){return 3==this.nodeType}).get(0).data=c}})}
function fit_string_to_size(a,b,d){var c=a;rcmail.env.tmp_span?b=rcmail.env.tmp_span:(b=$("<b>").css({visibility:"hidden",padding:"0px","font-family":b.css("font-family"),"font-size":b.css("font-size")}).appendTo($("body",document)).get(0),rcmail.env.tmp_span=b);var e=$(b);e.text(c);var f=b.offsetWidth;if(f>d){d=Math.max(1,Math.floor((f-d)/f*a.length/2));c=Math.floor(a.length/2);for(var g;;){f=c-d;g=c+d;e.text(a.substring(0,f)+"..."+a.substring(g));if(3>f||b.offsetWidth)break;d++}c=a.substring(0,
f)+"..."+a.substring(g)}return c}function update_quota(a){percent_indicator(rcmail.gui_objects.quotadisplay,a);if(a.table){var b=$("#quotamenu");b.length||(b=$('<div id="quotamenu" class="popupmenu">').appendTo($("body")));b.html(a.table);$("#quotaimg").css("cursor","pointer").off("click").on("click",function(a){return rcmail.command("menu-open","quotamenu",a.target,a)})}}
function percent_indicator(a,b){if(!b||!a)return!1;var d=b.width?b.width:rcmail.env.indicator_width?rcmail.env.indicator_width:100,c=b.height?b.height:rcmail.env.indicator_height?rcmail.env.indicator_height:14,e=b.percent?Math.abs(parseInt(b.percent)):0,f=parseInt(e/100*d),g=$(a).position();g.top=Math.max(0,g.top);g.left=Math.max(0,g.left);rcmail.env.indicator_width=d;rcmail.env.indicator_height=c;f>d&&(f=d,e=100);b.title&&(b.title=rcmail.get_label("quota")+": "+b.title);var k=$("<div>");k.css({position:"absolute",
top:g.top,left:g.left,width:d+"px",height:c+"px",zIndex:100,lineHeight:c+"px"}).attr("title",b.title).addClass("quota_text").html(e+"%");var l=$("<div>");l.css({position:"absolute",top:g.top+1,left:g.left+1,width:f+"px",height:c+"px",zIndex:99});f=$("<div>");f.css({position:"absolute",top:g.top+1,left:g.left+1,width:d+"px",height:c+"px",zIndex:98}).addClass("quota_bg");80<=e?(k.addClass(" quota_text_high"),l.addClass("quota_high")):55<=e?(k.addClass(" quota_text_mid"),l.addClass("quota_mid")):(k.addClass(" quota_text_low"),
l.addClass("quota_low"));$(a).html("").append(l).append(f).append(k);$("#quotaimg").attr("title",b.title)}function attachment_menu_append(a){$(a).append($('<a class="drop"></a>').on("click keypress",function(a){if("keypress"!=a.type||13==a.which)return rcmail_ui.show_attachmentmenu(this,a),!1}))}var rcmail_editor_settings={},rcmail_ui;
function rcube_init_mail_ui(){rcmail_ui=new rcube_mail_ui;$(document.body).mouseup(function(a){rcmail_ui.body_mouseup(a)}).mousedown(function(a){rcmail_ui.body_keydown(a)});rcmail.addEventListener("init",function(){rcmail.env.quota_content&&update_quota(rcmail.env.quota_content);rcmail.addEventListener("setquota",update_quota);rcube_webmail.set_iframe_events({mouseup:function(a){return rcmail_ui.body_mouseup(a)}});if("mail"==rcmail.env.task)if(rcmail.addEventListener("enable-command","enable_command",
rcmail_ui).addEventListener("menu-open","menu_open",rcmail_ui).addEventListener("aftersend-attachment","uploadmenu",rcmail_ui).addEventListener("aftertoggle-editor","resize_compose_body_ev",rcmail_ui).addEventListener("afterbounce",function(){rcmail_ui.show_popup("forwardmenu",!1)}).gui_object("dragmenu","dragmenu"),rcmail.gui_objects.mailboxlist&&(rcmail.treelist.addEventListener("expand",rcube_render_mailboxlist),rcmail.addEventListener("responseaftermark",rcube_render_mailboxlist).addEventListener("responseaftergetunread",
rcube_render_mailboxlist).addEventListener("responseaftercheck-recent",rcube_render_mailboxlist).addEventListener("responseafterrefresh",rcube_render_mailboxlist).addEventListener("afterimport-messages",function(){rcmail_ui.show_popup("uploadform",!1)})),rcmail.init_pagejumper("#pagejumper"),bw.ie&&rcmail.message_list&&$(window).resize(function(){setTimeout(function(){rcmail.message_list.resize()},10)}),"list"==rcmail.env.action||!rcmail.env.action)rcmail.addEventListener("layout-change","set_layout",
rcmail_ui),rcmail_ui.set_layout();else if("compose"==rcmail.env.action)rcmail_ui.init_compose_form(),rcmail.addEventListener("compose-encrypted",function(a){$("a.button.encrypt")[a.active?"addClass":"removeClass"]("selected");$("select[name='editorSelector']").prop("disabled",a.active);$("a.button.attach, a.button.responses, a.button.attach, #uploadmenulink")[a.active?"addClass":"removeClass"]("buttonPas disabled");$("#responseslist a.insertresponse")[a.active?"removeClass":"addClass"]("active")}),
rcmail.addEventListener("fileappended",function(a){a.attachment.complete&&attachment_menu_append(a.item)}),$("#attachmentslist > li").each(function(){attachment_menu_append(this)});else{if("show"==rcmail.env.action||"preview"==rcmail.env.action)$('#attachment-list > li[id^="attach"]').each(function(){attachment_menu_append(this)}),$(window).resize(function(){$('#attachment-list > li[id^="attach"]').length||$("#attachment-list").hide();var a=$("#messagebody.mailvelope");if(a.length){var b=$("#messageframe");
b=(b.length?b.height()+b.offset().top-25:$(this).height())-a.offset().top-20;a.height(b)}})}else"addressbook"==rcmail.env.task?rcmail.addEventListener("afterupload-photo",function(){rcmail_ui.show_popup("uploadform",!1)}).gui_object("dragmenu","dragmenu"):"settings"==rcmail.env.task&&("folders"==rcmail.env.action&&rcmail_ui.folder_search_init($("#folder-manager")),$("#mainscreen > #prefs-title").detach().prependTo($("#mainscreen > .box")))})};

View File

@ -116,7 +116,7 @@
}
.googie_ok_button {
background: url(images/googiespell/ok.gif) no-repeat center center transparent;
background: url(images/googiespell/ok.gif?v=36c3.143) no-repeat center center transparent;
width: 32px;
height: 16px;
cursor: pointer;

1
classic/googiespell.min.css vendored Normal file
View File

@ -0,0 +1 @@
.googie_window{font-size:11px;width:185px}.googie_edit_layer{background-color:#fff;padding:1px 3px;font-size:9pt;font-family:monospace}.googie_edit_layer span{font-family:monospace}.googie_list{width:100%;margin:0;padding:0}.googie_list li{font-size:11px;cursor:pointer;list-style-type:none}.googie_list form{padding:3px}.googie_list_onhover{color:#fff;background-color:#c33}.googie_list_onout{background-color:#fff}.googie_list_selected{background-color:#ccc;font-weight:bold}.googie_list_close{font-size:11px;color:#b91414}.googie_list_onhover .googie_list_close{color:#fff}.googie_list_revert{font-size:11px;color:#b91414}.googie_list_revert:hover{color:#fff}.googie_link{color:#b91414;text-decoration:underline;cursor:pointer;font-size:9pt;font-family:monospace}.googie_check_spelling_link{color:#c00;font-size:11px;text-decoration:none;cursor:pointer}.googie_check_spelling_link:hover{text-decoration:underline}.googie_no_style{text-decoration:none}.googie_check_spelling_ok,.googie_resume_editing{color:green;font-size:11px;cursor:pointer}.googie_check_spelling_ok:hover,.googie_resume_editing:hover{text-decoration:underline}.googie_lang_3d_click img{vertical-align:middle;border-top:1px solid #555;border-left:1px solid #555;border-right:1px solid #b1b1b1;border-bottom:1px solid #b1b1b1}.googie_lang_3d_on img{vertical-align:middle;border-top:1px solid #b1b1b1;border-left:1px solid #b1b1b1;border-right:1px solid #555;border-bottom:1px solid #555}.googie_ok_button{background:url(images/googiespell/ok.gif?v=36c3.143) no-repeat center center transparent;width:32px;height:16px;cursor:pointer;margin:0 5px;text-indent:-5000px;border:0 !important}

View File

@ -36,7 +36,7 @@
padding: 0;
margin: 0 5px;
overflow: hidden;
background: url(images/mail_toolbar.png) 0 0 no-repeat transparent;
background: url(images/mail_toolbar.png?v=2271.13035) 0 0 no-repeat transparent;
opacity: 0.99; /* this is needed to make buttons appear correctly in Chrome */
}
@ -203,7 +203,7 @@
#messagemenu li a,
#attachmentmenu li a
{
background: url(images/messageactions.png) no-repeat 7px 0;
background: url(images/messageactions.png?v=8c64.2615) no-repeat 7px 0;
background-position: 7px 20px;
}
@ -253,7 +253,7 @@
#compose-attachments li a.delete,
#compose-attachments li a.cancelupload
{
background: url(images/messageicons.png) no-repeat;
background: url(images/messageicons.png?v=c493.2511) no-repeat;
}
#markmessagemenu li a.readlink
@ -469,7 +469,7 @@
margin-top: 4px;
margin-right: 2px;
overflow: hidden;
background: url(images/mail_footer.png) 0 0 no-repeat transparent;
background: url(images/mail_footer.png?v=1c4b.774) 0 0 no-repeat transparent;
opacity: 0.99; /* this is needed to make buttons appear correctly in Chrome */
}
@ -589,7 +589,7 @@ table.messagelist.fixedcopy
vertical-align: middle;
border-bottom: 1px solid #999999;
color: #333333;
background: url(images/listheader.gif) top left repeat-x #CCC;
background: url(images/listheader.gif?v=ab42.314) top left repeat-x #CCC;
font-size: 11px;
font-weight: bold;
text-align: left;
@ -603,12 +603,12 @@ table.messagelist.fixedcopy
.messagelist thead tr > .sortedASC a
{
background: url(images/icons/sort.gif) right 0 no-repeat;
background: url(images/icons/sort.gif?v=92aa.144) right 0 no-repeat;
}
.messagelist thead tr > .sortedDESC a
{
background: url(images/icons/sort.gif) right -14px no-repeat;
background: url(images/icons/sort.gif?v=92aa.144) right -14px no-repeat;
}
.messagelist thead tr a
@ -711,7 +711,7 @@ table.messagelist.fixedcopy
vertical-align: middle;
height: 17px;
width: 15px;
background: url(images/messageicons.png) center no-repeat;
background: url(images/messageicons.png?v=c493.2511) center no-repeat;
}
.messagelist tr .attachment span.attachment
@ -998,7 +998,7 @@ td span.branch div.tree
{
height: 17px;
width: 15px;
background: url(images/tree.gif) 0px 0px no-repeat;
background: url(images/tree.gif?v=9b73.92) 0px 0px no-repeat;
}
td span.branch div.l1
@ -1110,7 +1110,7 @@ table.headers-table tr td.header span
min-height: 16px;
list-style-image: none;
list-style-type: none;
background: url(images/icons/attachment.png) 4px 2px no-repeat #DFDFDF;
background: url(images/icons/attachment.png?v=ee4e.516) 4px 2px no-repeat #DFDFDF;
}
#messageframe #attachment-list
@ -1153,7 +1153,7 @@ table.headers-table tr td.header span
}
#attachment-list li a.drop {
background: url(images/icons/down_small.gif) no-repeat center 6px;
background: url(images/icons/down_small.gif?v=f368.105) no-repeat center 6px;
width: 12px;
height: 16px;
cursor: pointer;
@ -1359,12 +1359,12 @@ div.more-headers
div.show-headers
{
background: url(images/icons/down_small.gif) no-repeat center;
background: url(images/icons/down_small.gif?v=f368.105) no-repeat center;
}
div.hide-headers
{
background: url(images/icons/up_small.gif) no-repeat center;
background: url(images/icons/up_small.gif?v=c56c.106) no-repeat center;
}
#headers-source
@ -1602,7 +1602,7 @@ input.from_address
}
#compose-attachments li a.drop {
background: url(images/icons/down_small.gif) no-repeat center 8px;
background: url(images/icons/down_small.gif?v=f368.105) no-repeat center 8px;
width: 16px;
height: 22px;
cursor: pointer;
@ -1660,7 +1660,7 @@ input.from_address
{
display: block;
font-size: 11px;
background: url(images/icons/folders.png) 5px -108px no-repeat;
background: url(images/icons/folders.png?v=7c4f.5218) 5px -108px no-repeat;
border-bottom: 1px solid #EBEBEB;
white-space: nowrap;
}
@ -1736,7 +1736,7 @@ input.from_address
padding-left: 5px;
padding-right: 5px;
text-shadow: 1px 1px white;
background: url("images/icons/groupactions.png") no-repeat right -70px;
background: url(images/icons/groupactions.png?v=6760.604) no-repeat right -70px;
}
#abookactions a.disabled
@ -1817,7 +1817,7 @@ input.from_address
vertical-align: middle;
line-height: 16px;
width: 15px;
background: url(images/messageicons.png) 4px -236px no-repeat;
background: url(images/messageicons.png?v=c493.2511) 4px -236px no-repeat;
cursor: pointer;
overflow: hidden;
text-indent: -5000px;

1
classic/mail.min.css vendored Normal file

File diff suppressed because one or more lines are too long

1
classic/print.min.css vendored Normal file
View File

@ -0,0 +1 @@
body{font-family:"Lucida Grande",Verdana,Arial,Helvetica,sans-serif;background-color:#fff;color:#000;margin:2mm}body,td,th,div,p{font-size:9pt;color:#000}h3{font-size:18px;color:#000}a,a:active,a:visited{color:#000}body>#logo{float:right;margin:0 5mm 3mm 5mm}table.headers-table{table-layout:fixed;margin-top:14px}table.headers-table tr td{font-size:9pt}table.headers-table td.header-title{color:#666;font-weight:bold;text-align:right;vertical-align:top;padding-right:4mm;white-space:nowrap}table.headers-table tr td.subject{width:90%;font-weight:bold}#attachment-list{margin-top:3mm;padding-top:3mm;border-top:1pt solid #ccc}#attachment-list li{font-size:9pt}#attachment-list li a{text-decoration:none}#attachment-list li a:hover{text-decoration:underline}#messagebody{position:relative;margin-top:5mm;border-top:0}div.message-part{padding:2mm;margin-top:5mm;margin-bottom:5mm;border-top:1pt solid #ccc}div.message-part a{color:#00c}div.message-part div.pre{margin:0;padding:0;font-family:monospace;font-size:12px}div.message-part blockquote{color:blue;border-left:2px solid blue;border-right:2px solid blue;background-color:#f6f6f6;margin:2px 0;padding:0 .4em}div.message-part blockquote blockquote{color:green;border-left:2px solid green;border-right:2px solid green}div.message-part blockquote blockquote blockquote{color:#900;border-left:2px solid #b00;border-right:2px solid #b00}p.image-attachment{position:relative;padding:1em;border-top:1px solid #ccc}p.image-attachment a.image-link{float:left;display:block;margin-right:2em;min-width:160px;min-height:60px;text-align:center}p.image-attachment .image-filename{display:block;line-height:1.6em}p.image-attachment .attachment-links{display:none}#contact-details fieldset{color:#666;border:1px solid #999;margin-top:5px}#contact-details fieldset.contactfieldgroup{border:0;padding:0;margin:0}#contact-details div.row{padding:2px 0}#contact-details .contactfieldlabel{display:inline-block;vertical-align:top;width:150px;overflow:hidden;text-overflow:ellipsis}#contact-details .contactfieldcontent{display:inline-block;vertical-align:top;font-weight:bold}#contact-details #contactphoto{float:left;margin:5px 15px 5px 3px;width:112px;border:0;padding:0}#contact-details #contactpic{width:112px;background:white}#contact-details #contactpic img{max-width:112px;visibility:inherit}#contact-details #contacthead{border:0;margin:0 16em 0 0;padding:0}#contact-details #contacthead>legend{display:none}#contact-details #contacthead .names span.namefield{font-size:140%;font-weight:bold}

1
classic/safari.min.css vendored Normal file
View File

@ -0,0 +1 @@
body{height:100%}html>body*#messagelist[id$="messagelist"]:not([class="none"]){width:99.8%}html>body*#messagelist[id$="messagelist"]:not([class="none"]) tr td.flag,html>body*#messagelist[id$="messagelist"]:not([class="none"]) tr td.icon{width:20px}html>body*input[type$="file"]:not([class="none"]){background-color:transparent;border:0}div.message-part pre,div.message-htmlpart pre,div.message-part div.pre{word-wrap:break-word}#messagelist thead tr td,#messagelist tbody tr td{height:18px}

View File

@ -12,7 +12,7 @@
}
#folderlist-title a.iconbutton.search {
background: url(images/icons/glass.png) no-repeat 0 0;
background: url(images/icons/glass.png?v=dcbc.302) no-repeat 0 0;
cursor: pointer;
position: absolute;
right: 4px;
@ -203,7 +203,7 @@ div.readtext
{
min-height: 200px;
padding-bottom: 2em;
background: url(images/watermark.gif) no-repeat center;
background: url(images/watermark.gif?v=61d5.11081) no-repeat center;
}
#license .sysname

1
classic/settings.min.css vendored Normal file
View File

@ -0,0 +1 @@
#rcmfd_timezone{width:300px}#folder-manager.droptarget{border:1px solid #c33;background-color:#ffffa6}#folderlist-title a.iconbutton.search{background:url(images/icons/glass.png?v=dcbc.302) no-repeat 0 0;cursor:pointer;position:absolute;right:4px;top:2px;width:16px;text-indent:50000px}.listsearchbox select{width:100%;margin:1px 0}#identities-table,#responses-table,#sections-table{width:100%;table-layout:fixed}#identities-table tbody tr td,#responses-table tbody tr td,#sections-table tbody tr td{cursor:default}#identities-table tbody tr.readonly td{font-style:italic}#subscription-table li.root{font-size:5%;line-height:5px;height:5px;padding:2px}#subscription-table li input{position:absolute;right:0;top:2px}#subscription-table li a{padding-right:20px;overflow:hidden;text-overflow:ellipsis}#folder-box,#prefs-box,#identity-box,#response-box{position:absolute;top:0;right:0;bottom:0;border:1px solid #999;overflow:hidden;background-color:#f2f2f2}#identity-details table td.title,#response-details table td.title,#folder-details table td.title{font-weight:bold;text-align:right;width:1%;white-space:nowrap}#response-details table td.title{text-align:left;vertical-align:top;width:140px;padding-top:5px}#bottomboxes{position:absolute;width:600px;height:95px;left:0;bottom:0}#identities-list,#responses-list,#folder-manager,#sectionslist{position:absolute;top:0;left:0;bottom:0;border:1px solid #999;background-color:#f9f9f9;overflow:hidden}body.iframe,#prefs-frame,#folder-frame,#identity-frame,#response-frame{background-color:#f2f2f2;border:0;min-height:100%}#prefs-title,#folder-title,#identity-title,#response-title{z-index:10}#formfooter{width:100%}.footerleft{padding-left:10px}#formfooter .footerleft{padding:0 2px 10px;white-space:nowrap;float:left}#formfooter .footerright{padding:0 2px 10px;white-space:nowrap;text-align:right;float:right}#formfooter .footerindent{padding:10px 0;margin-left:155px}#quota{position:absolute;top:3px;right:8px;width:100px}#quotaimg{position:absolute;top:3px;right:6px;z-index:101}#rcmfd_signature{font-family:monospace}div.readtext{width:42em;padding:20px}#license{min-height:200px;padding-bottom:2em;background:url(images/watermark.gif?v=61d5.11081) no-repeat center}#license .sysname{font-size:18px;font-weight:bold}#license .copyright{font-weight:bold}#license .license,#license .links{margin-top:1.5em}.skinselection{display:block;white-space:nowrap;margin:.3em 0}.skinselection span{display:inline-block;vertical-align:middle;padding-right:1em}.skinselection .skinname{font-weight:bold}.skinselection .skinlicense,.skinselection .skinlicense a{color:#999;font-style:italic;text-decoration:none}.skinselection .skinlicense a:hover{text-decoration:underline}img.skinthumbnail{width:64px;height:64px;border:1px solid #999;background:#fff}#pluginlist{border:1px solid #999;width:100%}#pluginlist td.version{text-align:center}div.crop{overflow:auto}#rcmfd_signature{width:99%;min-width:390px}#rcmfd_signature_toolbar1 td,#rcmfd_signature_toolbar2 td{width:auto}

26
classic/splitter.min.js vendored Normal file
View File

@ -0,0 +1,26 @@
/**
* Roundcube splitter GUI class
*
* @licstart The following is the entire license notice for the
* JavaScript code in this file.
*
* Copyright (c) The Roundcube Dev Team
*
* The JavaScript code in this page is free software: you can redistribute it
* and/or modify it under the terms of the GNU General Public License
* as published by the Free Software Foundation, either version 3 of
* the License, or (at your option) any later version.
*
* @licend The above is the entire license notice
* for the JavaScript code in this file.
*
* @constructor
*/
function rcube_splitter(c){function e(b){a.drag_active=!0;if(bw.konq||bw.chrome||bw.safari)document.body.style.webkitUserSelect="none";a.p1pos=a.relative?$(a.p1).position():$(a.p1).offset();a.p2pos=a.relative?$(a.p2).position():$(a.p2).offset();$(document).on("mousemove."+a.id,f).on("mouseup."+a.id,g);$("iframe").each(function(){$('<div class="iframe-splitter-fix"></div>').css({background:"#fff",width:this.offsetWidth+"px",height:this.offsetHeight+"px",position:"absolute",opacity:"0.001",zIndex:1E3}).css($(this).offset()).appendTo("body")})}
function f(b){if(!a.drag_active)return!1;window.clearTimeout(a.ts);a.ts=window.setTimeout(function(){var d=rcube_event.get_mouse_pos(b);if(a.relative){var c=$(a.p1.parentNode).offset();d.x-=c.left;d.y-=c.top}a.horizontal?d.y-1.5*a.layer.height>a.p1pos.top&&d.y+1.5*a.layer.height<a.p2pos.top+a.p2.offsetHeight&&(a.pos=d.y,a.resize()):d.x-1.5*a.layer.width>a.p1pos.left&&d.x+1.5*a.layer.width<a.p2pos.left+a.p2.offsetWidth&&(a.pos=d.x,a.resize());a.p1pos=a.relative?$(a.p1).position():$(a.p1).offset();
a.p2pos=a.relative?$(a.p2).position():$(a.p2).offset()},1);return!1}function g(b){a.drag_active=!1;if(bw.konq||bw.chrome||bw.safari)document.body.style.webkitUserSelect="auto";$(document).off("."+a.id);$("div.iframe-splitter-fix").remove();a.set_cookie();"function"==typeof a.callback&&a.callback(a);return bw.safari?!0:rcube_event.cancel(b)}function h(b){a.horizontal?(b=parseInt(a.p2.parentNode.offsetHeight,10)-parseInt(a.p2.style.top,10),a.p2.style.height=(0<b?b:0)+"px"):(b=parseInt(a.p2.parentNode.offsetWidth,
10)-parseInt(a.p2.style.left,10),a.p2.style.width=(0<b?b:0)+"px")}this.p1id=c.p1;this.p2id=c.p2;this.id=c.id?c.id:this.p1id+"_"+this.p2id+"_splitter";this.orientation=c.orientation;this.horizontal="horizontal"==this.orientation||"h"==this.orientation;this.pos=c.start?1*c.start:0;this.relative=c.relative?!0:!1;this.drag_active=!1;this.callback=c.callback;var a=this;this.init=function(){this.p1=document.getElementById(this.p1id);this.p2=document.getElementById(this.p2id);this.p1pos=this.relative?$(this.p1).position():
$(this.p1).offset();this.p2pos=this.relative?$(this.p2).position():$(this.p2).offset();this.layer=this.horizontal?new rcube_layer(this.id,{x:0,y:this.p1pos.top+this.p1.offsetHeight,height:10,width:"100%",vis:1,parent:this.p1.parentNode}):new rcube_layer(this.id,{x:this.p1pos.left+this.p1.offsetWidth,y:0,width:10,height:"100%",vis:1,parent:this.p1.parentNode});this.elm=this.layer.elm;this.elm.className="splitter "+(this.horizontal?"splitter-h":"splitter-v");this.elm.unselectable="on";$(this.elm).mousedown(e);
$(window).resize(function(b){b.target===window&&a.resize()});bw.ie&&$(window).resize(h);var b=rcmail.get_cookie(this.id);b&&!isNaN(b)?(this.pos=parseFloat(b),this.resize()):this.pos&&(this.resize(),this.set_cookie())};this.resize=function(){if(this.horizontal){var a=this.layer.height;this.p1.style.height=Math.floor(this.pos-this.p1pos.top-a/2)+"px";this.p2.style.top=Math.ceil(this.pos+a/2)+"px";this.layer.move(this.layer.x,Math.round(this.pos-a/2+1));bw.ie&&(a=parseInt(this.p2.parentNode.offsetHeight,
10)-parseInt(this.p2.style.top,10),this.p2.style.height=(0<a?a:0)+"px")}else a=$(window).width()-$(this.p1).offset().left-150,a=Math.min(this.pos,a),this.p1.style.width=Math.floor(a-this.p1pos.left-this.layer.width/2)+"px",this.p2.style.left=Math.ceil(a+this.layer.width/2)+"px",this.layer.move(Math.round(a-this.layer.width/2+1),this.layer.y),bw.ie&&(a=parseInt(this.p2.parentNode.offsetWidth,10)-parseInt(this.p2.style.left,10),this.p2.style.width=(0<a?a:0)+"px");$(this.p2).resize();$(this.p1).resize()};
this.set_cookie=function(){var a=new Date;a.setYear(a.getFullYear()+1);rcmail.set_cookie(this.id,this.pos,a)}};

6
elastic/deps/bootstrap.bundle.min.js vendored Normal file

File diff suppressed because one or more lines are too long

6
elastic/deps/bootstrap.min.css vendored Normal file

File diff suppressed because one or more lines are too long

23
elastic/deps/less.min.js vendored Normal file

File diff suppressed because one or more lines are too long

1
elastic/styles/embed.css Normal file
View File

@ -0,0 +1 @@
@font-face{font-family:'Icons';font-style:normal;font-weight:900;src:url("../fonts/fa-solid-900.woff2") format('woff2'),url("../fonts/fa-solid-900.woff") format('woff')}@font-face{font-family:'Icons';font-style:normal;font-weight:400;src:url("../fonts/fa-regular-400.woff2") format('woff2'),url("../fonts/fa-regular-400.woff") format('woff')}@font-face{font-family:'Roboto';font-style:normal;font-weight:400;src:local('Roboto'),local('Roboto-Regular'),url('../fonts/roboto-v19-regular.woff2') format('woff2'),url('../fonts/roboto-v19-regular.woff') format('woff')}@font-face{font-family:'Roboto';font-style:italic;font-weight:400;src:local('Roboto Italic'),local('Roboto-Italic'),url('../fonts/roboto-v19-italic.woff2') format('woff2'),url('../fonts/roboto-v19-italic.woff') format('woff')}@font-face{font-family:'Roboto';font-style:normal;font-weight:700;src:local('Roboto Bold'),local('Roboto-Bold'),url('../fonts/roboto-v19-regular-700.woff2') format('woff2'),url('../fonts/roboto-v19-regular-700.woff') format('woff')}@font-face{font-family:'Roboto';font-style:italic;font-weight:700;src:local('Roboto Bold Italic'),local('Roboto-BoldItalic'),url('../fonts/roboto-v19-italic-700.woff2') format('woff2'),url('../fonts/roboto-v19-italic-700.woff') format('woff')}body,button,input,optgroup,select,textarea,.popover{font-family:Roboto,sans-serif}button,input,select,textarea{line-height:initial}input{vertical-align:middle}a{color:#00acff}a:hover{color:#008acc}a.disabled{pointer-events:none}a.disabled:not(.btn){opacity:.5}.mce-content-body{margin:4px;color:#2c363a}.mce-content-body div.pre{font-family:monospace}.mce-content-body blockquote{border-left:#1010ff 2px solid;margin:0;padding:0 0.4em}.rcmail-inline-message{font-family:Roboto,sans-serif;font-size:14px;padding:.5em;margin:0 0 .5em 0;opacity:.95;color:#2c363a;background-color:rgba(255,212,82,0.2);display:flex;align-items:center}.rcmail-inline-message:before{font-size:1.25em;display:block;float:left;margin:0 .25rem 0 0;width:1.18em;height:1em;font-family:'Icons';font-style:normal;font-weight:900;text-decoration:inherit;text-align:center;speak:none;font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;font-size:1.5em;line-height:1;width:1em;margin-right:.3em;content:"\f071";color:#ffd452}.rcmail-inline-message span{line-height:1.5}.rcmail-inline-message a{color:#00acff}.rcmail-inline-message a:hover{color:#008acc}.rcmail-inline-message button{vertical-align:middle;white-space:nowrap;padding:.375em .75em;margin-left:.5em;font-size:1em;line-height:1.5;border-radius:.25em;border:1px solid transparent;color:#fff;background:#37beff}.rcmail-inline-message button:focus{box-shadow:0 0 0 .2rem rgba(55,190,255,0.5)}.rcmail-inline-message button:hover{background:#0eb1ff;border-color:#04adff}.rcmail-inline-message button:not([disabled]):not(.disabled):active{background:#00abfe;border-color:#00a4f4;box-shadow:0 0 0 .2rem rgba(55,190,255,0.53)}.rcmail-inline-buttons{margin:0}

1
elastic/styles/print.css Normal file
View File

@ -0,0 +1 @@
body{overflow:auto;height:auto}#print-layout{margin:1rem}#print-layout .image-attachment .image-link{margin-bottom:.5rem}#print-layout .image-attachment .attachment-links{display:none}#print-layout .header-content .message-partheaders{padding:0 !important;border:0;font-size:1rem;color:inherit}#print-layout #message-header{margin-bottom:.5rem}#print-layout .attachment-size{padding-left:.1rem}#print-layout .formcontent{padding:0}#print-layout .formcontent legend{margin-top:.5rem}#print-layout .formcontent .row .form-control-plaintext{padding:.1rem}#print-layout .formcontent .contactfield{padding:.2rem 0}#print-layout .propform.groupped .row.input-group .input-group-text{padding:0;min-width:12rem;background:#fff;border:0}#print-layout .contact-header{margin-bottom:0}

File diff suppressed because one or more lines are too long

View File

@ -27,11 +27,6 @@
.mce-panel {
border-color: @color-input-border;
}
&.focused {
border-color: @color-input-border-focus !important;
box-shadow: 0 0 0 .2rem @color-input-border-focus-shadow !important;
}
}
.mce-top-part::before,
@ -88,12 +83,11 @@
right: 0;
top: 0;
position: absolute;
height: (@layout-header-height - .75rem);
height: (@layout-header-height - .7rem);
width: 1.25em;
margin: 0 .25rem;
margin: .25rem;
padding: .1rem .75rem;
cursor: pointer;
outline: 0;
&:before {
&:extend(.font-icon-class);
@ -899,7 +893,6 @@ html.touch .mce-grid td {
font-family: monospace;
width: 100% !important;
padding-top: 2.5rem;
resize: none;
}
& > iframe { // e.g. mailvelope frame
@ -911,6 +904,11 @@ html.touch .mce-grid td {
#composebody_ifr {
min-height: 30em;
}
& > .mce-tinymce.focused {
border-color: @color-input-border-focus;
box-shadow: 0 0 0 .2rem @color-input-border-focus-shadow !important;
}
}

View File

@ -833,7 +833,6 @@ html.ms .propform {
& > .invalid-feedback {
display: inline-block;
line-height: 1.5;
}
}
}
@ -958,6 +957,7 @@ html.ms .propform {
.name {
.overflow-ellipsis;
flex-grow: 1;
display: inline-block;
line-height: 1.1;
padding: floor(.25 * @page-font-size);
vertical-align: middle;
@ -990,10 +990,6 @@ html.ms .propform {
li {
max-width: 100%;
&:not(.recipient) {
user-select: text;
}
}
input {

View File

@ -540,12 +540,6 @@ ul.treelist {
&.archive > a:before {
.font-icon-solid(@fa-var-archive);
}
&.ns-shared > a:before {
.font-icon-solid(@fa-var-share-alt);
}
&.ns-other > a:before {
.font-icon-solid(@fa-var-user-friends);
}
}
// folder-selector fix for left padding

View File

@ -60,6 +60,14 @@
</div>
</div>
<roundcube:endif />
<roundcube:if condition="!in_array('htmleditor', (array)config:dont_override)" />
<div class="form-group row hidden">
<label for="editor-selector" class="col-form-label col-6"><roundcube:label name="editortype" /></label>
<div class="col-6">
<roundcube:object name="editorSelector" id="editor-selector" editorid="composebody" noform="true" tabindex="2" />
</div>
</div>
<roundcube:endif />
</div>
</div>
</div>
@ -207,9 +215,6 @@
<div id="composebodycontainer">
<label for="composebody" class="voice"><roundcube:label name="arialabelmessagebody" /></label>
<roundcube:object name="composeBody" id="composebody" form="form" cols="70" rows="20" class="form-control" tabindex="1" />
<roundcube:if condition="!in_array('htmleditor', (array)config:dont_override)" />
<roundcube:object name="editorSelector" id="editor-selector" editorid="composebody" noform="true" class="hidden" />
<roundcube:endif />
</div>
</form>
<div class="formbuttons">

View File

@ -1,4 +1,4 @@
<div class="pagenav menu footer small" role="toolbar" aria-label="<roundcube:label name="arialabellistnav" />">
<div class="pagenav menu footer small" role="toolbar">
<roundcube:button command="firstpage" type="link" class="firstpage disabled" classAct="firstpage"
title="firstpage" label="first" innerclass="inner" />
<roundcube:button command="previouspage" type="link" class="prevpage disabled" classAct="prevpage"

View File

@ -235,7 +235,7 @@ function rcube_elastic_ui()
// Image upload widget
$('.image-upload').each(function() { image_upload_input(this); });
// Add HTML/Plain switcher on top of textarea with TinyMCE editor
// Add HTML/Plain tabs (switch) on top of textarea with TinyMCE editor
$('textarea[data-html-editor]').each(function() { html_editor_init(this); });
$('#dragmessage-menu,#dragcontact-menu').each(function() {
@ -476,7 +476,6 @@ function rcube_elastic_ui()
.addEventListener('googiespell_create', rcmail_popup_init)
.addEventListener('setquota', update_quota)
.addEventListener('enable-command', enable_command_handler)
.addEventListener('clonerow', pretty_checkbox_fix)
.addEventListener('init', init);
// Add styling for TinyMCE editor popups
@ -707,10 +706,7 @@ function rcube_elastic_ui()
// In compose/preview window we do not provide "Back" button, instead
// we modify the "Mail" button in the task menu to act like it (i.e. calls 'list' command)
if (!rcmail.env.extwin && (rcmail.env.action == 'compose' || rcmail.env.action == 'show')) {
$('a.mail', layout.menu).attr({
'aria-disabled': false,
onclick: "return rcmail.command('list','',this,event);"
});
$('a.mail', layout.menu).attr('onclick', "return rcmail.command('list','',this,event)");
}
// Append contact menu to all mailto: links
@ -1179,10 +1175,6 @@ function rcube_elastic_ui()
*/
function content_frame_init()
{
if (!layout.list.length) {
return;
}
var last_selected = env.last_selected,
title_reset = function(title) {
if (typeof title !== 'string' || !title.length) {
@ -1359,7 +1351,7 @@ function rcube_elastic_ui()
function tinymce_init(o)
{
var onload = [],
is_editor = $('#' + o.id).parent().is('.html-editor');
is_editor = $('#' + o.id).is('[data-html-editor]');
// Enable autoresize plugin
o.config.plugins += ' autoresize';
@ -3120,9 +3112,9 @@ function rcube_elastic_ui()
*/
function recipient_input(obj)
{
var list, input, selection = '',
var list, input,
input_len_update = function() {
input.css('width', Math.max(5, input.val().length * 15 + 10));
input.css('width', Math.max(40, input.val().length * 15 + 25));
},
apply_func = function() {
// update the original input
@ -3173,8 +3165,8 @@ function rcube_elastic_ui()
return result.recipients.length > 0;
},
parse_func = function(e, ac) {
var last, paste, value = this.value;
parse_func = function(e) {
var paste, value = this.value;
// On paste the text is not yet in the input we have to use clipboard.
// Also because on paste new-line characters are replaced by spaces (#6460)
@ -3185,16 +3177,6 @@ function rcube_elastic_ui()
value = value.substring(0, this.selectionStart) + paste + value.substring(this.selectionEnd);
e.preventDefault();
}
// #7231: When clicking on autocompletion list a change event
// is fired twice. We have to remove last recipient box if it is
// the same recpient (with incomplete email address).
// FIXME: Anyone with a better solution?
else if (ac) {
last = list.find('li.recipient').last();
if (last.length && this.value.indexOf(last.text().replace(/[ ,]+$/, '')) > -1) {
last.remove();
}
}
update_func(value);
},
@ -3225,9 +3207,7 @@ function rcube_elastic_ui()
list = $('<ul>').addClass('form-control recipient-input ac-input rounded-left')
.append($('<li>').append(input))
// "selection" hack to allow text selection in the recipient box or multiple boxes (#7129)
.on('mouseup', function () { selection = window.getSelection().toString(); })
.on('click', function() { if (!selection.length) input.focus(); });
.on('click', function() { input.focus(); });
// Hide the original input/textarea
// Note: we do not remove the original element, and we do not use
@ -3447,19 +3427,6 @@ function rcube_elastic_ui()
.parent().append(label);
};
/**
* Fix pretty checkbox input in a cloned element
*/
function pretty_checkbox_fix(params)
{
var id, input = $(params.row).find('input[id^=icochk]');
if (input.length) {
id = 'icochk' + (++env.checkboxes);
input.attr('id', id).next('label').attr('for', id);
}
};
/**
* Make select dropdowns pretty
* TODO: searching, optgroup, [multiple], iPhone/iPad
@ -3688,7 +3655,7 @@ function rcube_elastic_ui()
function html_editor_init(obj)
{
// Here we support two structures
// 1. <div><textarea></textarea><select class="hidden"></div>
// 1. <div><textarea></textarea><select name="editorSelector"></div>
// 2. <tr><td><td><td><textarea></textarea></td></tr>
// <tr><td><td><td><input type="checkbox"></td></tr>
@ -3715,12 +3682,9 @@ function rcube_elastic_ui()
is_table = true;
}
else {
sw = editor.next('select.hidden');
sw = $('[name="editorSelector"]', obj.form);
}
// make the textarea autoresizeable
textarea_autoresize_init(editor);
// sanity check
if (sw.length != 1) {
return;
@ -3743,6 +3707,9 @@ function rcube_elastic_ui()
// Modify the textarea cell to use 100% width
parent.addClass('col-sm-12');
}
// make the textarea autoresizeable
textarea_autoresize_init(editor);
};
/**
@ -3751,40 +3718,37 @@ function rcube_elastic_ui()
*/
function textarea_autoresize_init(textarea)
{
var padding = parseInt($(textarea).css('padding-top')) + parseInt($(textarea).css('padding-bottom')) + 2,
// FIXME: Is there a better way to get initial height of the textarea?
// At this moment clientHeight/offsetHeight is 0.
min_height = ($(textarea)[0].rows || 5) * 21,
resize = function(e) {
if (this.scrollHeight - padding <= min_height) {
var resize = function(e) {
clearTimeout(env.textarea_timer);
env.textarea_timer = setTimeout(function() {
var area = $(e.target),
initial_height = area.data('initial-height'),
scroll_height = area[0].scrollHeight;
// do nothing when the area is hidden
if (!scroll_height) {
return;
}
// To fix scroll-jump issue in Edge we'll find the scrolling parent
// and re-apply scrollTop value after we reset textarea height
var scroll_element, scroll_pos = 0;
$(e.target).parents().each(function() {
if (this.scrollTop > 0) {
scroll_element = this;
scroll_pos = this.scrollTop;
return false;
}
});
var oldHeight = $(this).outerHeight();
$(this).outerHeight(0);
var newHeight = Math.max(min_height, this.scrollHeight);
$(this).outerHeight(oldHeight);
if (newHeight !== oldHeight) {
$(this).height(newHeight);
if (!initial_height) {
area.data('initial-height', initial_height = scroll_height);
}
if (scroll_pos) {
scroll_element.scrollTop = scroll_pos;
// strange effect in Chrome/Firefox when you delete a line in the textarea
// the scrollHeight is not decreased by the line height, but by 2px
// so jumps up many times in small steps, we'd rather use one big step
if (area.outerHeight() - scroll_height == 2) {
scroll_height -= 19; // 21px is the assumed line height
}
};
$(textarea).on('input', resize).trigger('input');
area.outerHeight(Math.max(initial_height, scroll_height));
}, 10);
};
$(textarea).css('overflow-y', 'hidden').on('input', resize).trigger('input');
// Make sure the height is up-to-date also in time intervals
setInterval(function() { $(textarea).trigger('input'); }, 1000);
};
// Inititalizes smart list input

130
elastic/ui.min.js vendored Normal file
View File

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

View File

@ -68,7 +68,7 @@
#directorylist li a,
.treelist li.contactsearch a,
#contacts-table .contact td.name {
background-image: url(images/listicons.png);
background-image: url(images/listicons.png?v=4f40.10460);
background-position: -100px 0;
background-repeat: no-repeat;
overflow: hidden;
@ -159,7 +159,7 @@
height: 14px;
text-indent: -5000px;
overflow: hidden;
background: url(images/listicons.png) -2px -1180px no-repeat;
background: url(images/listicons.png?v=4f40.10460) -2px -1180px no-repeat;
}
#contacts-table .contact td.name {
@ -241,7 +241,7 @@
}
#contactpic.droptarget {
background-image: url(images/filedrop.png);
background-image: url(images/filedrop.png?v=be5d.415);
background-position: center;
background-repeat: no-repeat;
}
@ -387,7 +387,7 @@ a.deletebutton {
height: 18px;
text-decoration: none;
text-indent: -5000px;
background: url(images/buttons.png) -7px -377px no-repeat;
background: url(images/buttons.png?v=2e08.13608) -7px -377px no-repeat;
}
#import-box {
@ -424,7 +424,7 @@ ul.toolbarmenu li span.removegroup {
#addressbook-selector li a span,
#contactgroup-selector li a span {
background: url(images/listicons.png) 4px 20px no-repeat;
background: url(images/listicons.png?v=4f40.10460) 4px 20px no-repeat;
display: block;
height: 17px;
min-height: 14px;

1
larry/addressbook.min.css vendored Normal file

File diff suppressed because one or more lines are too long

View File

@ -15,7 +15,7 @@
font-weight: bold;
color: #996600;
border: 1px solid #ffdf0e;
background: url("images/messages.png") no-repeat scroll 5px -83px #fef893;
background: url(images/messages.png?v=72e9.1264) no-repeat scroll 5px -83px #fef893;
padding: 6px 12px 4px 30px;
margin-bottom: 0.8em;
}

1
larry/embed.min.css vendored Normal file
View File

@ -0,0 +1 @@
.rcmail-inline-message{font-family:sans-serif;font-size:11px;font-weight:bold;color:#960;border:1px solid #ffdf0e;background:url(images/messages.png?v=72e9.1264) no-repeat scroll 5px -83px #fef893;padding:6px 12px 4px 30px;margin-bottom:.8em}.rcmail-inline-message em{font-size:90%}.rcmail-inline-buttons{margin-bottom:0;display:inline}.rcmail-inline-buttons>button{margin-left:1em;vertical-align:baseline;line-height:12px}

View File

@ -97,7 +97,7 @@
}
.googie_ok_button {
background: url(images/googiespell/ok.gif) no-repeat center center transparent !important;
background: url(images/googiespell/ok.gif?v=e1b6.160) no-repeat center center transparent !important;
width: 32px;
height: 16px;
cursor: pointer;

1
larry/googiespell.min.css vendored Normal file
View File

@ -0,0 +1 @@
.googie_window{font-size:11px;width:185px;margin:0;padding:0}.googie_edit_layer{padding:4px;font-size:9pt;font-family:monospace;background-color:#fff;border:0}.googie_edit_layer span{font-family:monospace}.googie_list{width:100%;margin:0;padding:0;border-spacing:0}.googie_list li{min-width:80px;width:auto}.googie_list li.googie_list_selected{background:#4db0d2}.googie_list form{padding:3px}.googie_list_close{font-size:11px;color:#b91414}.googie_list_onhover .googie_list_close{color:#fff}.googie_list_revert{font-size:11px;color:#b91414}.googie_list_revert:hover{color:#fff}.googie_link{color:#b91414;text-decoration:underline;cursor:pointer;font-size:9pt;font-family:monospace}.googie_check_spelling_link{color:#0069a6;font-size:11px;text-decoration:underline;cursor:pointer}.googie_no_style{text-decoration:none}.googie_check_spelling_ok,.googie_resume_editing{color:green;font-size:11px;cursor:pointer;text-decoration:underline}.googie_check_spelling_ok:hover,.googie_resume_editing:hover{text-decoration:underline}.googie_lang_3d_click img,.googie_lang_3d_on img{vertical-align:middle;cursor:pointer;border:0}.googie_ok_button{background:url(images/googiespell/ok.gif?v=e1b6.160) no-repeat center center transparent !important;width:32px;height:16px;cursor:pointer;margin:0 5px;padding:0;border:0 !important;text-indent:-5000px}

View File

@ -293,7 +293,7 @@ table.messagelist.fixedcopy {
.messagelist thead tr th.sortedDESC a {
color: #004458;
text-decoration: underline;
background-image: url(images/listicons.png);
background-image: url(images/listicons.png?v=4f40.10460);
background-repeat: no-repeat;
background-position: right -912px;
}
@ -361,7 +361,7 @@ table.messagelist.fixedcopy {
height: 18px;
width: 20px;
padding: 0;
background: url(images/listicons.png) -100px 0 no-repeat;
background: url(images/listicons.png?v=4f40.10460) -100px 0 no-repeat;
}
.messagelist tbody tr .attachment span.attachment {
@ -678,7 +678,7 @@ h3.subject {
left: 0;
width: 18px;
height: 16px;
background: url(images/buttons.png) -27px -242px no-repeat;
background: url(images/buttons.png?v=2e08.13608) -27px -242px no-repeat;
}
.moreheaderstoggle.remove .iconlink {
@ -698,7 +698,7 @@ div.more-headers {
width: 12px;
height: 10px;
cursor: pointer;
background: url(images/buttons.png) center -1579px no-repeat;
background: url(images/buttons.png?v=2e08.13608) center -1579px no-repeat;
}
div.hide-headers {
@ -751,7 +751,7 @@ div.hide-headers {
width: 32px;
height: 32px;
overflow: hidden;
background: url(images/contactpic_32px.png) center center no-repeat #fff;
background: url(images/contactpic_32px.png?v=ee80.246) center center no-repeat #fff;
border-radius: 3px;
}
@ -775,7 +775,7 @@ div.hide-headers {
overflow: hidden;
border-radius: 4px;
border: 1px solid #e6e6e6;
background: url(images/contactpic_48px.png) center center no-repeat #fff;
background: url(images/contactpic_48px.png?v=1bc4.353) center center no-repeat #fff;
}
#messageheader #contactphoto img {
@ -1016,7 +1016,7 @@ div.message-partheaders .headers-table td.header {
body.status-flagged .flag-icon {
display: inline-block;
background: url(images/listicons.png) 0 -1038px no-repeat;
background: url(images/listicons.png?v=4f40.10460) 0 -1038px no-repeat;
width: 20px;
height: 16px;
vertical-align: text-top;
@ -1082,7 +1082,7 @@ body.status-flagged .flag-icon {
#compose-contacts li a,
#contacts-table td {
background-image: url(images/listicons.png);
background-image: url(images/listicons.png?v=4f40.10460);
background-position: -100px 0;
background-repeat: no-repeat;
overflow: hidden;
@ -1307,7 +1307,7 @@ body.status-flagged .flag-icon {
#image-selector.droptarget,
#compose-attachments.droptarget {
background-image: url(images/filedrop.png);
background-image: url(images/filedrop.png?v=be5d.415);
background-position: center bottom;
background-repeat: no-repeat;
}
@ -1416,7 +1416,7 @@ body.status-flagged .flag-icon {
text-indent: -5000px;
overflow: hidden;
display: inline-block;
background: url(images/listicons.png) 0 -2328px no-repeat;
background: url(images/listicons.png?v=4f40.10460) 0 -2328px no-repeat;
}
.widescreen #messagelistheader .listmenu:focus {

1
larry/mail.min.css vendored Normal file

File diff suppressed because one or more lines are too long

1
larry/print.min.css vendored Normal file
View File

@ -0,0 +1 @@
body{font-family:"Lucida Grande",Verdana,Arial,Helvetica,sans-serif;background-color:#fff;color:#000;margin:2mm}body,td,th,div,p{font-size:9pt;color:#000}h3{font-size:18px;color:#000}a,a:active,a:visited{color:#000}#header{float:right;margin:0 5mm 3mm 5mm}table.headers-table{table-layout:fixed;margin-top:14px}table.headers-table tr td{font-size:9pt;vertical-align:top}table.headers-table td.header-title{color:#666;padding-right:4mm;white-space:nowrap}table.headers-table tr td.subject{font-weight:bold}#attachment-list{margin-top:2mm;padding-top:2mm;border-top:1pt solid #ccc}#attachment-list li{font-size:9pt}#attachment-list li a{text-decoration:none}#attachment-list li a:hover{text-decoration:underline}#messagebody{position:relative;border-top:0}div.message-part,div.message-htmlpart{padding:2mm 1mm;margin-top:2mm;margin-bottom:5mm;border-top:1pt solid #ccc}div.message-part a{color:#00c}div.message-part div.pre{margin:0;padding:0;font-family:monospace;font-size:12px}div.message-part blockquote{color:blue;border-left:2px solid blue;border-right:2px solid blue;background-color:#f6f6f6;margin:2px 0;padding:0 .4em}div.message-part blockquote blockquote{color:green;border-left:2px solid green;border-right:2px solid green}div.message-part blockquote blockquote blockquote{color:#900;border-left:2px solid #b00;border-right:2px solid #b00}p.image-attachment{position:relative;padding:1em;border-top:1px solid #ccc}p.image-attachment a.image-link{float:left;display:block;margin-right:2em;min-width:160px;min-height:60px;text-align:center}p.image-attachment .image-filename{display:block;line-height:1.6em}p.image-attachment .attachment-links{display:none}#contact-details fieldset{color:#666;border:1px solid #999;margin-top:5px}#contact-details fieldset.contactfieldgroup{border:0;padding:0;margin:0}#contact-details div.row{padding:2px 0}#contact-details .contactfieldlabel{display:inline-block;vertical-align:top;width:150px;overflow:hidden;text-overflow:ellipsis}#contact-details .contactfieldcontent{display:inline-block;vertical-align:top;font-weight:bold}#contact-details #contactphoto{float:left;margin:5px 15px 5px 3px;width:112px;border:0;padding:0}#contact-details #contactpic{width:112px;background:white}#contact-details #contactpic img{max-width:112px;visibility:inherit}#contact-details #contacthead{border:0;margin:0 16em 0 0;padding:0}#contact-details #contacthead>legend{display:none}#contact-details #contacthead .names span.namefield{font-size:140%;font-weight:bold}

View File

@ -69,7 +69,7 @@
font-size: 11px;
width: 20px;
height: 18px;
background: url('images/listicons.png') 0 -1157px no-repeat;
background: url(images/listicons.png?v=4f40.10460) 0 -1157px no-repeat;
text-indent: -5000px;
overflow: hidden;
}
@ -98,7 +98,7 @@
#settings-sections .listitem a,
#settings-sections .tablink a {
padding-left: 36px;
background-image: url(images/listicons.png);
background-image: url(images/listicons.png?v=4f40.10460);
background-position: -100px 0;
background-repeat: no-repeat;
}

1
larry/settings.min.css vendored Normal file

File diff suppressed because one or more lines are too long

View File

@ -310,7 +310,7 @@ a.button span.icon,
height: 13px;
text-indent: 1000px;
overflow: hidden;
background: url(images/buttons.png) -6px -211px no-repeat;
background: url(images/buttons.png?v=2e08.13608) -6px -211px no-repeat;
}
a.button.prevpage span.icon,
@ -407,7 +407,7 @@ a.iconbutton {
height: 18px;
text-decoration: none;
text-indent: -5000px;
background: url(images/buttons.png) -1000px 0 no-repeat;
background: url(images/buttons.png?v=2e08.13608) -1000px 0 no-repeat;
}
a.iconbutton.disabled {
@ -466,7 +466,7 @@ a.iconlink {
text-decoration: none;
white-space: nowrap;
padding: 2px 8px 2px 20px;
background: url(images/buttons.png) -1000px 0 no-repeat;
background: url(images/buttons.png?v=2e08.13608) -1000px 0 no-repeat;
}
a.iconlink:hover {
@ -512,7 +512,7 @@ a.iconlink.upload {
padding: 6px 30px 6px 25px;
display: inline-block;
white-space: nowrap;
background: url(images/messages.png) 0 5px no-repeat;
background: url(images/messages.png?v=72e9.1264) 0 5px no-repeat;
cursor: default;
}
@ -532,7 +532,7 @@ a.iconlink.upload {
}
#message div.loading {
background: url(images/ajaxloader.gif) 2px 6px no-repeat;
background: url(images/ajaxloader.gif?v=c252.1434) 2px 6px no-repeat;
}
#message div a,
@ -609,7 +609,7 @@ a.iconlink.upload {
left: 4px;
width: 20px;
height: 24px;
background: url(images/messages_dark.png) 0 7px no-repeat;
background: url(images/messages_dark.png?v=8e53.601) 0 7px no-repeat;
}
#messagestack div.error {
@ -645,7 +645,7 @@ a.iconlink.upload {
#messagestack div.loading:after {
top: 4px;
left: 6px;
background: url(images/ajaxloader_dark.gif) 0 4px no-repeat;
background: url(images/ajaxloader_dark.gif?v=cf1b.1849) 0 4px no-repeat;
}
#messagestack div.voice {
@ -666,7 +666,7 @@ a.iconlink.upload {
.ui-dialog.warning .ui-dialog-title,
.ui-dialog.confirmation .ui-dialog-title {
padding-left: 25px;
background: url(images/messages.png) 0 5px no-repeat;
background: url(images/messages.png?v=72e9.1264) 0 5px no-repeat;
}
.ui-dialog.warning .ui-dialog-title {
@ -756,7 +756,7 @@ a.iconlink.upload {
#topline a.button-logout {
display: inline-block;
padding: 2px 10px 2px 20px;
background: url(images/buttons.png) -6px -193px no-repeat;
background: url(images/buttons.png?v=2e08.13608) -6px -193px no-repeat;
color: #fff;
}
@ -896,7 +896,7 @@ a.iconlink.upload {
font-weight: normal;
padding: 5px 0 0 34px;
height: 19px;
background: url(images/buttons.png) -1000px 0 no-repeat;
background: url(images/buttons.png?v=2e08.13608) -1000px 0 no-repeat;
}
#taskbar a:focus {
@ -954,7 +954,7 @@ a.iconlink.upload {
width: 19px;
height: 46px;
cursor: pointer;
background: url(images/buttons.png) -35px -1778px no-repeat;
background: url(images/buttons.png?v=2e08.13608) -35px -1778px no-repeat;
}
.minimal #taskbar .minmodetoggle {
@ -1018,7 +1018,7 @@ a.iconlink.upload {
}
.watermark {
background-image: url(images/watermark.jpg);
background-image: url(images/watermark.jpg?v=e784.5000);
background-position: center;
background-repeat: no-repeat;
}
@ -1248,7 +1248,7 @@ ul.treelist li div.treetoggle {
left: 4px;
width: 13px;
height: 13px;
background: url(images/listicons.png) -3px -144px no-repeat;
background: url(images/listicons.png?v=4f40.10460) -3px -144px no-repeat;
cursor: pointer;
}
@ -1322,7 +1322,7 @@ ul.treelist li.selected > div.expanded {
width: 48px;
height: 35px;
text-indent: -5000px;
background-image: url(images/buttons.png);
background-image: url(images/buttons.png?v=2e08.13608);
background-position: -1000px 0;
background-repeat: no-repeat;
}
@ -1387,7 +1387,7 @@ ul.treelist li.selected > div.expanded {
text-indent: 1000px;
vertical-align: bottom;
overflow: hidden;
background: url(images/buttons.png) -4px -286px no-repeat;
background: url(images/buttons.png?v=2e08.13608) -4px -286px no-repeat;
}
.boxpagenav a.icon.prevpage {
@ -1578,7 +1578,7 @@ body.iframe .footerleft.floating:before,
left: 0;
width: 100%;
height: 6px;
background: url(images/overflowshadow.png) top center no-repeat;
background: url(images/overflowshadow.png?v=ac21.201) top center no-repeat;
}
.boxcontent {
@ -1590,7 +1590,7 @@ body.iframe .footerleft.floating:before,
display: block;
color: #960;
border: 1px solid #ffdf0e;
background: url(images/messages.png) #fef893 5px -85px no-repeat;
background: url(images/messages.png?v=72e9.1264) #fef893 5px -85px no-repeat;
padding: 6px 12px 6px 30px;
}
@ -1890,7 +1890,7 @@ ul.proplist.simplelist li {
text-overflow: ellipsis;
white-space: nowrap;
padding: 28px 2px 0 2px;
background: url(images/buttons.png) -100px 0 no-repeat transparent;
background: url(images/buttons.png?v=2e08.13608) -100px 0 no-repeat transparent;
border: 0;
border-radius: 0;
}
@ -1932,7 +1932,7 @@ ul.proplist.simplelist li {
width: 18px;
overflow: hidden;
text-indent: -5000px;
background: url(images/buttons.png) 0 -1255px no-repeat;
background: url(images/buttons.png?v=2e08.13608) 0 -1255px no-repeat;
cursor: pointer;
outline: none;
}
@ -2099,7 +2099,7 @@ a.menuselector .handle {
padding: 0 32px 0 6px;
height: 20px;
line-height: 19px;
background: url(images/selector.png) right center no-repeat;
background: url(images/selector.png?v=0d5b.118) right center no-repeat;
border-radius: 4px;
}
@ -2157,7 +2157,7 @@ a.iconbutton:focus,
font-size: 12px;
font-weight: bold;
padding-left: 30px;
background: url(images/quota.png) -100px 0 no-repeat;
background: url(images/quota.png?v=aaa4.1389) -100px 0 no-repeat;
}
#quotadisplay.p90,
@ -2285,7 +2285,7 @@ ul.toolbarmenu.selectable li a {
}
ul.toolbarmenu.selectable li a.selected {
background: url(images/messages.png) 4px -27px no-repeat;
background: url(images/messages.png?v=72e9.1264) 4px -27px no-repeat;
}
ul.toolbarmenu li label {
@ -2316,7 +2316,7 @@ ul.toolbarmenu li span.icon,
min-height: 14px;
padding: 4px 4px 1px 24px;
height: 17px;
background-image: url(images/listicons.png);
background-image: url(images/listicons.png?v=4f40.10460);
background-position: -100px 0;
background-repeat: no-repeat;
opacity: 0.2;
@ -2480,7 +2480,7 @@ ul.toolbarmenu li span.copy {
-moz-user-select: none;
-khtml-user-select: none;
position: absolute;
background: url(images/splitter.png) center no-repeat;
background: url(images/splitter.png?v=6d32.134) center no-repeat;
}
.splitter-h {
@ -2535,7 +2535,7 @@ ul.toolbarmenu li span.copy {
content: " ";
width: 16px;
height: 16px;
background: url(images/buttons.png) -7px -358px no-repeat;
background: url(images/buttons.png?v=2e08.13608) -7px -358px no-repeat;
z-index: 255;
}
@ -2550,7 +2550,7 @@ ul.toolbarmenu li span.copy {
}
#folder-selector li a span {
background: url("images/listicons.png") 4px -2021px no-repeat;
background: url(images/listicons.png?v=4f40.10460) 4px -2021px no-repeat;
display: block;
height: 17px;
min-height: 14px;
@ -2587,7 +2587,7 @@ ul.toolbarmenu li span.copy {
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
background-image: url(images/listicons.png);
background-image: url(images/listicons.png?v=4f40.10460);
background-repeat: no-repeat;
background-position: 6px 3px;
}
@ -2811,7 +2811,7 @@ ul.toolbarmenu li span.copy {
.attachmentslist li {
display: block;
position: relative;
background: url(images/filetypes.png) 0 0 no-repeat;
background: url(images/filetypes.png?v=a0f5.4718) 0 0 no-repeat;
margin-bottom: 1px;
line-height: 24px;
}
@ -2939,7 +2939,7 @@ ul.toolbarmenu li span.copy {
}
.attachmentslist li a.drop {
background: url(images/buttons.png) no-repeat scroll center -1570px;
background: url(images/buttons.png?v=2e08.13608) no-repeat scroll center -1570px;
width: 14px;
height: 20px;
cursor: pointer;
@ -2971,7 +2971,7 @@ ul.toolbarmenu li span.copy {
}
.attachmentslist li.uploading {
background: url(images/ajaxloader.gif) 4px 4px no-repeat;
background: url(images/ajaxloader.gif?v=c252.1434) 4px 4px no-repeat;
padding-left: 30px;
}
@ -2985,7 +2985,7 @@ ul.toolbarmenu li span.copy {
padding: 0;
text-decoration: none;
text-indent: -5000px;
background-image: url(images/buttons.png);
background-image: url(images/buttons.png?v=2e08.13608);
background-position: -6px -338px;
background-repeat: no-repeat;
}
@ -3058,7 +3058,7 @@ ul.toolbarmenu li span.copy {
}
#image-selector-form.droptarget {
background: url(images/filedrop.png) center bottom no-repeat;
background: url(images/filedrop.png?v=be5d.415) center bottom no-repeat;
}
/** Common TinyMCE fixes **/

1
larry/styles.min.css vendored Normal file

File diff suppressed because one or more lines are too long

67
larry/ui.min.js vendored Normal file
View File

@ -0,0 +1,67 @@
/**
* Roundcube functions for default skin interface
*
* 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_mail_ui(){function e(a){p||(p=rcmail.local_storage_get_item("prefs.larry",{}));if(null==p[a]){var c=rcmail.get_cookie(a);null!=c&&(p[a]=c,rcmail.local_storage_set_item("prefs.larry",p)&&rcmail.set_cookie(a,c,new Date))}return p[a]}function q(a,c){p[a]=c;if(!rcmail.local_storage_set_item("prefs.larry",p)){var d=new Date;d.setYear(d.getFullYear()+1);rcmail.set_cookie(a,c,d)}}function r(a){a=a?10:0;rcmail.resize_timeout&&window.clearTimeout(rcmail.resize_timeout);rcmail.resize_timeout=
window.setTimeout(function(){"mail"==rcmail.env.task&&("show"==rcmail.env.action||"preview"==rcmail.env.action?b():"compose"==rcmail.env.action&&t());$("body.iframe .footerleft").each(function(){var a=$(this),d=$(document.body),k=a.hasClass("floating"),b=d.outerHeight(!0)>$(window).height();b!=k&&(k=b?"addClass":"removeClass",a[k]("floating"),d[k]("floatingbuttons"))})},a)}function g(a){var c=$(a.object).siblings("div");c.length&&$(a.object).insertBefore(c.first());if("error"==a.type&&"login"!=rcmail.env.task){rcmail.hide_message(a.object);
l.message_timer&&window.clearTimeout(l.message_timer);l.messagedialog||(l.messagedialog=$("<div>").addClass("popupdialog").hide());c=a.message;var d=function(){l.messagedialog.is(":visible")&&l.messagedialog.dialog("destroy").hide()};l.messagedialog.is(":visible")&&l.messagedialog.text()!=c&&(c=l.messagedialog.html()+"<p>"+a.message+"</p>");l.messagedialog.html(c).dialog({resizable:!1,closeOnEscape:!0,dialogClass:a.type,title:rcmail.gettext("errortitle"),close:d,hide:{effect:"fadeOut"},width:420,
minHeight:90}).show();l.messagedialog.closest("div[role=dialog]").attr("role","alertdialog");0<a.timeout&&(l.message_timer=window.setTimeout(d,a.timeout))}}function w(a){var c=a?a.new_layout:rcmail.env.layout,d=$("#mailview-top"),b=$("#mailview-bottom");a&&$("#mainscreencontent").removeClass().addClass(c);$("#mailviewsplitter")["desktop"==c?"show":"hide"]();$("#mailviewsplitter2")["widescreen"==c?"show":"hide"]();$("#mailpreviewframe")["list"!=c?"show":"hide"]();rcmail.env.contentframe="list"==c?
null:"messagecontframe";"widescreen"==c?($("#countcontrols").detach().appendTo($("#messagelistheader")),d.css({height:"auto",width:394}),b.css({top:0,left:406,height:"auto"}).show(),x?x.resize():(x=new rcube_splitter({id:"mailviewsplitter2",p1:"#mailview-top",p2:"#mailview-bottom",orientation:"v",relative:!0,start:416,min:400,size:12}),x.init())):"desktop"==c?(d.css({height:270,width:"auto"}),b.css({left:0,top:284,height:"auto"}).show(),y?y.resize():(y=new rcube_splitter({id:"mailviewsplitter",p1:"#mailview-top",
p2:"#mailview-bottom",orientation:"h",relative:!0,start:276,min:150,size:12,offset:4}),y.init())):(d.css({height:"auto",width:"auto"}),b.hide());a&&"widescreen"==a.old_layout&&$("#countcontrols").detach().appendTo($("#messagelistfooter"))}function b(){$("#messagecontent").css("top",$("#messageheader").outerHeight()+1+"px");$("#message-objects div a").addClass("button");$("#attachment-list li").length||($("div.rightcol").hide().attr("aria-hidden","true"),$("div.leftcol").css("margin-right","0"));var a=
$("#messagebody.mailvelope, #messagebody > .mailvelope");if(a.length){var c=$("#messagecontent").length?$("#messagecontent").height()-16:$(window).height()-a.offset().top-2;a.height(c)}}function f(a){}function n(a){}function H(){var a,c=["cc","bcc","replyto","followupto"];for(a=0;a<c.length;a++){var d=c[a];var b=$("#_"+d);b.length&&(b.on("change",{v:d},function(a){this.value&&C(a.data.v,!0)}),""!=b.val()&&C(d,!0))}$("textarea[name='_to'], textarea[name='_cc'], textarea[name='_bcc']").change(function(a){I(this)}).change();
rcmail.addEventListener("autocomplete_insert",function(a){I(a.field)})}function I(a){if("TEXTAREA"==a.nodeName){var c=$(a),d=a.scrollHeight;c.css("height",14*(80<a.value.length&&21<d?2:1)+"px");t()}}function t(){var a=$("#composebody"),c=$("#compose-content"),d=$("#composeview-bottom");if(c.length){var b=c.height()-d.position().top;var m=300-b;d.height(Math.max(300,b));c.css("overflow",0<m?"auto":"hidden");c=a.parent().width()-5;d=a.parent().height()-8;a.width(c).height(d);$("#composebodycontainer > div").width(c+
8);$("#composebody_ifr").height(d+4-$("div.mce-toolbar").height());$("#googie_edit_layer").width(c).height(d);a=$("#directorylist");a.length&&$("#compose-contacts .scroller").css("top",a.position().top+a.outerHeight())}}function D(a){var c=$("#quotadisplay"),d=$("#quotamenu"),b=a.total?24*Math.ceil(a.percent/100*20):0;a.total&&480==b&&100>a.percent&&(b-=24);c.css("background-position","0 -"+b+"px");c.attr("class","countdisplay p"+10*Math.round(a.percent/10));a.table&&(d.length||(d=$('<div id="quotamenu" class="popupmenu">').appendTo($("body"))),
d.html(a.table),c.css("cursor","pointer").off("click").on("click",function(a){return rcmail.command("menu-open","quotamenu",a.target,a)}))}function J(a){$(".boxtitle a.search",a).click(function(c){var d=$(".boxtitle",a),b=$(".listsearchbox",a),m=b.is(":visible")?-1:1,f=34+($("select",b).length?22:0);b.slideToggle({duration:160,progress:function(c,b){0>m&&(b=1-b);$(".scroller",a).css("top",d.outerHeight()+f*b+"px")},complete:function(){b.toggleClass("expanded");b.is(":visible")?(b.find("input[type=text]").focus(),
f=34+($("select",b).length?$("select",b).outerHeight()+4:0),$(".scroller",a).css("top",d.outerHeight()+f+"px")):$("a.reset",b).click()}});return!1})}function N(a){"reply-list"==a.command&&1==rcmail.env.reply_all_mode?(a=rcmail.gettext(a.status?"replylist":"replyall"),"preview"==rcmail.env.action?$("a.button.replyall").attr("title",a):$("a.button.reply-all").text(a).attr("title",a)):"compose-encrypted"==a.command?$("a.button.encrypt").parent().show():"compose-encrypted-signed"==a.command&&$("#encryptionmenulink").show()}
function E(a,c){var d=z[a]=$("#"+a);d.appendTo(document.body);d.length&&(u[a]=$.extend(u[a]||{},c||{}))}function K(){$("#preview-shortheaders").toggle();var a=$("#preview-allheaders").toggle(),c=$("a#previewheaderstoggle");a.is(":visible")?c.attr("href","#hide").removeClass("add").addClass("remove").attr("aria-expanded","true"):c.attr("href","#details").removeClass("remove").addClass("add").attr("aria-expanded","false");q("previewheaders",a.is(":visible")?"1":"0")}function A(a,c){if(c||!$("#mail"+
a+"mode").hasClass("disabled"))$("#maillistmode, #mailthreadmode").removeClass("selected").attr("tabindex","0").attr("aria-disabled","false"),$("#mail"+a+"mode").addClass("selected").attr("tabindex","-1").attr("aria-disabled","true")}function B(a){if(a&&"messagelistmenu"==a.name)O(a);else if(a){var c=u[a.name]||{},d=$(c.link||"#"+a.name+"link"),b=a.obj&&a.obj.is(":visible");if(a.obj&&b&&d.length){var m=d.parent();$(window);m.hasClass("dropbutton")&&(d=m);if(c.above||d.hasClass("dropbutton"))m=d.offset(),
a.obj.css({left:m.left+"px",top:m.top+(c.above?-a.obj.height():d.outerHeight())+"px"})}a.obj&&c.iconized&&a.obj.children("ul").addClass("iconized");a.obj&&c.editable&&a.obj.attr("data-editable","true");"function"==typeof c.callback&&c.callback(b,a)}}function P(a,c){var d=a.parentNode.id.replace(/^attach/,"");$.each(["open","download","rename"],function(){var a=this;$("#attachmenu"+a).off("click").attr("onclick","").click(function(c){return rcmail.command(a+"-attachment",d,this)})});u.attachmentmenu.link=
a;rcmail.command("menu-open",{menu:"attachmentmenu",id:d},a,c)}function F(a){a=$(a);if(!a.children(".drop").length){var c=rcmail.gettext("options"),d=a.find("a.filename"),b=d.attr("tabindex")||0;c=$("<a>").attr({"class":"drop skip-content",tabindex:b,"aria-haspopup":!0,title:c}).text(c).on("click keypress",function(a){if("keypress"!=a.type||13==rcube_event.get_keycode(a))return P(this,a),!1});d.length?c.insertAfter(d):c.appendTo(a)}}function O(a){var c=$("#listoptions");c.is(":visible")?c.dialog("close",
a.originalEvent):($('input[name="sort_col"][value="'+rcmail.env.sort_col+'"]').prop("checked",!0),$('input[name="sort_ord"][value="DESC"]').prop("checked","DESC"==rcmail.env.sort_order),$('input[name="sort_ord"][value="ASC"]').prop("checked","DESC"!=rcmail.env.sort_order),$.each(["widescreen","desktop","list"],function(){$('input[name="layout"][value="'+this+'"]').prop("checked",rcmail.env.layout==this)}),$("#listoptions-columns",c)["widescreen"==rcmail.env.layout?"hide":"show"](),$('input[name="list_col[]"]').each(function(){$(this).prop("checked",
-1!=$.inArray(this.value,rcmail.env.listcols))}),c.dialog({modal:!0,resizable:!1,closeOnEscape:!0,title:null,open:function(a){setTimeout(function(){c.find("a, input:not(:disabled)").not("[aria-disabled=true]").first().focus()},100)},close:function(a){c.dialog("destroy").hide();a.originalEvent&&rcube_event.is_keyboard(a.originalEvent)&&$("#listmenulink").focus()},minWidth:500,width:c.width()+25}).show())}function Q(a){$("#listoptions").dialog("close");rcube_event.is_keyboard(a.originalEvent)&&$("#listmenulink").focus();
a=$('input[name="sort_col"]:checked').val();var c=$('input[name="sort_ord"]:checked').val(),d=$('input[name="layout"]:checked').val(),b=$('input[name="list_col[]"]:checked').map(function(){return this.value}).get();rcmail.set_list_options(b,a,c,rcmail.env.threading,d)}function R(a){a=$("#contacts-table");var c=a.parent().css("overflow","hidden");a.clone().css({position:"absolute",top:"0",left:"0",width:a.width()+"px","z-index":10}).appendTo(c).animate({left:-(a.width()+5)+"px"},300,"swing",function(){$(this).remove();
c.css("overflow","auto")})}function S(a){a=$("#contacts-table");var c=a.parent().css("overflow","hidden"),d=a.clone().appendTo(c);a.css({position:"absolute",top:"0",left:-(a.width()+5)+"px",width:a.width()+"px",height:a.height()+"px","z-index":10}).animate({left:"0"},300,"linear",function(){d.remove();$(this).css({position:"relative",left:"0",width:"100%",height:"auto","z-index":1});c.css("overflow","auto")})}function C(a,c){var d=$("#compose-"+a);if(!d.is(":visible"))return G[a]&&!c&&$("#_"+a).val(G[a]),
d.show(),$("#"+a+"-link").hide(),t(),$("input,textarea",d).focus(),!1}function L(a,c){a=$(a);var d=a.get(0).id,b=a.children("fieldset");if(b.length){d||(d="rcmtabcontainer",a.attr("id",d));var f=$("<ul>").addClass("tabsbar").prependTo(a);b.each(function(a){var b=$(this),c=b.children("legend"),k=d+"-t"+a;var m=$("<a>").text(c.text()).attr("href","#"+k);a=$("<li>").addClass("tablink");c.remove();b.attr("id",k);a.append(m).appendTo(f)});a.tabs({active:c||0,heightStyle:"content",activate:function(a,d){r()}})}}
var v={},z={},u={forwardmenu:{editable:1},searchmenu:{editable:1,callback:function(a){if(a&&rcmail.env.search_mods){var b;a=$('input:checkbox[name="s_mods[]"]',z.searchmenu);var d=rcmail.env.mailbox,k=rcmail.env.search_mods,f=rcmail.env.search_scope||"base";if("mail"==rcmail.env.task){"all"==f&&(d="*");k=k[d]?k[d]:k["*"];var e="text";$('input:radio[name="s_scope"]').prop("checked",!1).filter("#s_scope_"+f).prop("checked",!0)}else e="*";if(k[e])a.map(function(){this.checked=!0;this.disabled=this.value!=
e});else for(b in a.prop("disabled",!1).prop("checked",!1),k)$("#s_mod_"+b).prop("checked",!0)}}},attachmentmenu:{},listoptions:{editable:1},groupmenu:{above:1},mailboxmenu:{above:1},spellmenu:{callback:function(a,b){var d,c=rcmail.spellcheck_lang(),f=$("ul",b.obj);if(!f.length){f=$('<ul class="toolbarmenu selectable" role="menu">');for(d in rcmail.env.spell_langs){var e=$('<li role="menuitem">');a=$('<a href="#'+d+'" tabindex="0"></a>').text(rcmail.env.spell_langs[d]).addClass("active").data("lang",
d).on("click keypress",function(a){if("keypress"!=a.type||13==rcube_event.get_keycode(a))return rcmail.spellcheck_lang_set($(this).data("lang")),rcmail.hide_menu("spellmenu",a),!1});a.appendTo(e);e.appendTo(f)}f.appendTo(b.obj)}$("li",f).each(function(){var a=$("a",this);a.data("lang")==c?a.addClass("selected").attr("aria-selected","true"):a.hasClass("selected")&&a.removeClass("selected").removeAttr("aria-selected")})}},"folder-selector":{iconized:1}},l=this,y,x,G={},p;this.set=function(a,b){v[a]=
b};this.init=function(){rcmail.addEventListener("message",g);$.widget("ui.dialog",$.ui.dialog,{open:function(){this._super();var a=$(this.uiDialog),b=a.offset(),c=a.position(),f=a.outerWidth(),e=$(window).width(),n=b.top-12;0>n&&a.css("top",c.top-n);b.left+f+12>e&&a.css("left",c.left-12);return this}});$("#taskbar a").each(function(a,b){$(b).append('<span class="tooltip">'+$(".button-inner",this).html()+"</span>")});$("#taskbar .minmodetoggle").click(function(a){a=$(document.body).toggleClass("minimal").hasClass("minimal");
q("minimalmode",a?1:0);$(window).resize()});if("mail"==rcmail.env.task){rcmail.addEventListener("menu-open",B).addEventListener("menu-close",B).addEventListener("menu-save",Q).addEventListener("enable-command",N).addEventListener("responseafterlist",function(a){A(rcmail.env.threading?"thread":"list",!0)}).addEventListener("responseaftersearch",function(a){A(rcmail.env.threading?"thread":"list",!0)});var a=$("#dragmessagemenu");a.length&&(rcmail.gui_object("dragmenu","dragmessagemenu"),z.dragmenu=
a);"show"==rcmail.env.action||"preview"==rcmail.env.action?(rcmail.addEventListener("aftershow-headers",function(){b()}).addEventListener("afterhide-headers",function(){b()}),$("#previewheaderstoggle").click(function(a){K();this.blur&&!rcube_event.is_keyboard(a)&&this.blur();return!1}),$("#attachment-list > li").each(function(){F(this)}),"1"==e("previewheaders")&&K(),"show"==rcmail.env.action&&$("#messagecontent").focus()):"compose"==rcmail.env.action?(rcmail.addEventListener("fileappended",function(a){a.attachment.complete&&
F(a.item)}).addEventListener("aftertoggle-editor",function(a){window.setTimeout(function(){t()},200)}).addEventListener("compose-encrypted",function(a){$("select[name='editorSelector']").prop("disabled",a.active);$("a.button.attach, a.button.responses")[a.active?"addClass":"removeClass"]("disabled");$("#responseslist a.insertresponse")[a.active?"removeClass":"addClass"]("active")}),H(),$("#composeoptionstoggle").click(function(a){var b=$("#composeoptions").toggle().is(":visible");$("#composeoptionstoggle").toggleClass("remove").attr("aria-expanded",
b?"true":"false");t();q("composeoptions",b?"1":"0");rcube_event.is_keyboard(a)||this.blur();return!1}).css("cursor","pointer"),"0"!==e("composeoptions")&&$("#composeoptionstoggle").click(),(a=rcmail.opener())&&"compose"==a.env.action&&$("#composeoptionstoggle",opener.document).hasClass("remove")&&$("#composeoptionstoggle").click(),(new rcube_splitter({id:"composesplitterv",p1:"#composeview-left",p2:"#composeview-right",orientation:"v",relative:!0,start:206,min:170,size:12,render:t})).init(),$("#attachment-list > li").each(function(){F(this)})):
"bounce"==rcmail.env.action?H():"list"!=rcmail.env.action&&rcmail.env.action?"get"==rcmail.env.action&&(new rcube_splitter({id:"mailpartsplitterv",p1:"#messagepartheader",p2:"#messagepartcontainer",orientation:"v",relative:!0,start:226,min:150,size:12})).init():(w(),$("#maillistmode").addClass(rcmail.env.threading?"":"selected").click(function(a){A("list");return!1}),$("#mailthreadmode").addClass(rcmail.env.threading?"selected":"").click(function(a){A("thread");return!1}),rcmail.init_pagejumper("#pagejumper"),
rcmail.addEventListener("setquota",D).addEventListener("layout-change",w));$("#mailview-left").length&&(new rcube_splitter({id:"mailviewsplitterv",p1:"#mailview-left",p2:"#mailview-right",orientation:"v",relative:!0,start:206,min:150,size:12,callback:f,render:n})).init()}else if("settings"==rcmail.env.task)if(rcmail.addEventListener("init",function(){var a="#settingstabpreferences";rcmail.env.action&&(a="#settingstab"+(0<rcmail.env.action.indexOf("identity")?"identities":rcmail.env.action.replace(/\./g,
"")));$(a).addClass("selected").children().first().removeAttr("onclick").click(function(){return!1})}),"folders"==rcmail.env.action)(new rcube_splitter({id:"folderviewsplitter",p1:"#folderslist",p2:"#folder-details",orientation:"v",relative:!0,start:266,min:180,size:12})).init(),rcmail.addEventListener("setquota",D),J($("#folderslist"));else if("identities"==rcmail.env.action)(new rcube_splitter({id:"identviewsplitter",p1:"#identitieslist",p2:"#identity-details",orientation:"v",relative:!0,start:266,
min:180,size:12})).init();else if("responses"==rcmail.env.action)(new rcube_splitter({id:"responseviewsplitter",p1:"#responseslist",p2:"#response-details",orientation:"v",relative:!0,start:266,min:180,size:12})).init();else if("preferences"==rcmail.env.action||!rcmail.env.action)(new rcube_splitter({id:"prefviewsplitter",p1:"#sectionslist",p2:"#preferences-box",orientation:"v",relative:!0,start:266,min:180,size:12})).init();else{if("edit-prefs"==rcmail.env.action){a=$("#preferences-details fieldset.advanced legend");
var c=$('<a href="#toggle"></a>').text(rcmail.gettext("toggleadvancedoptions")).attr("title",rcmail.gettext("toggleadvancedoptions")).addClass("advanced-toggle");a.click(function(a){c.html($(this).hasClass("collapsed")?"&#9650;":"&#9660;");$(this).toggleClass("collapsed").closest("fieldset").children(".propform").toggle()}).append(c).addClass("collapsed");bw.mz&&a.parents("form").css("display","inline")}}else"addressbook"==rcmail.env.task&&(rcmail.addEventListener("beforepushgroup",R).addEventListener("beforepopgroup",
S).addEventListener("menu-open",B).addEventListener("menu-close",B),""==rcmail.env.action&&((new rcube_splitter({id:"addressviewsplitterd",p1:"#addressview-left",p2:"#addressview-right",orientation:"v",relative:!0,start:206,min:150,size:12,render:n})).init(),(new rcube_splitter({id:"addressviewsplitter",p1:"#addresslist",p2:"#contacts-box",orientation:"v",relative:!0,start:266,min:260,size:12})).init()),a=$("#dragcontactmenu"),a.length&&(rcmail.gui_object("dragmenu","dragcontactmenu"),z.dragmenu=
a));$(".tabbed").each(function(a,b){L(b)});$("select.decorated").each(function(){if(bw.opera)$(this).removeClass("decorated");else{var a=$(this),b=a.parent(),c=Math.max(a.height(),26)-2,f=a.width()-22,e=$("option",this).first().text();""!=$("option:selected",this).val()&&(e=$("option:selected",this).text());var n=$('<a class="menuselector" tabindex="-1"><span class="handle">'+e+"</span></a>").css("position","absolute").offset(a.position()).insertAfter(a);n.children().width(f).height(c).css("line-height",
c-1+"px");"absolute"!=b.css("position")&&b.css("position","relative");a.width(n.width()).on(bw.mz?"change keyup":"change",function(){var a=$("option:selected",this).text();$(this).next().children().text(a)});a.on("focus",function(a){n.addClass("focus")}).on("blur",function(a){n.removeClass("focus")})}});a=$("body.minwidth");a.length&&a.css("min-width",$(".toolbar").width()+$("#quicksearchbar").width()+$("#searchfilter").width()+30);window.onresize=r;r()};this.init_tabs=L;this.show_about=function(a){var b=
$("<iframe>").attr({id:"aboutframe",src:rcmail.url("settings/about"),frameborder:"0"});h=Math.floor(.75*$(window).height());buttons={};supportln=$("#supportlink");supportln.length&&(v.supporturl=supportln.attr("href"))&&(buttons[supportln.html()]=function(a){0>v.supporturl.indexOf("mailto:")?window.open(v.supporturl):location.href=v.supporturl});b.dialog({modal:!0,resizable:!1,closeOnEscape:!0,title:a?a.title||a.innerHTML:null,close:function(){b.dialog("destroy").remove()},buttons:buttons,width:640,
height:h}).width(640)};this.show_popup=function(a,b,d){!d&&u[a]||E(a,d);d=u[a]||{};d=$(d.link?d.link:"#"+a+"link");var c=d.offset();d.has(".inner")&&(d=d.children(".inner"));return rcmail.command("menu-open",{menu:a,show:b},d.get(0),$.Event("click",{target:d.get(0),pageX:c.left,pageY:c.top,clientX:c.left,clientY:c.top}))};this.toggle_popup=function(a,b,d){!d&&u[a]||E(a,d);return rcmail.command("menu-open",a,b.target,b)};this.add_popup=E;this.import_dialog=function(){var a=$("#uploadform").clone().removeClass("popupdialog");
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.set_searchmod=function(a){var b=rcmail.env.task;var d=rcmail.env.search_mods,f=rcmail.env.mailbox;"all"==$('input[name="s_scope"]:checked').val()&&(f="*");d||(d={});if("mail"==b){d[f]||(d[f]=rcube_clone_object(d["*"]));var e=d[f];b="text"}else e=d,b="*";a.checked?e[a.value]=1:delete e[a.value];a.value==b&&$('input:checkbox[name="s_mods[]"]').map(function(){this!=
a&&(this.checked=!0,a.checked?(this.disabled=!0,delete e[this.value]):(this.disabled=!1,e[this.value]=1))});rcmail.set_searchmods(e)};this.set_searchscope=function(a){rcmail.set_searchscope(a.value)};this.show_header_row=C;this.hide_header_row=function(a){var b=$("#_"+a);G[a]=b.val();b.val("");$("#compose-"+a).hide();$("#"+a+"-link").show();t();return!1};this.update_quota=D;this.get_pref=e;this.save_pref=q;this.folder_search_init=J;if(window.$&&document.body){var M=e("minimalmode");(parseInt(M)||
null===M&&850>$(window).height())&&$(document.body).addClass("minimal");bw.tablet&&$("#viewport").attr("content","width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0");$(document).ready(function(){l.init()})}}
function rcube_scroller(e,q,r){var g=this;this.list=$(e);this.top=$(q);this.bottom=$(r);this.step_size=6;this.step_time=20;this.delay=500;this.top.mouseenter(function(){rcmail.drag_active&&(g.ts=window.setTimeout(function(){g.scroll("down")},g.delay))}).mouseout(function(){g.ts&&window.clearTimeout(g.ts)});this.bottom.mouseenter(function(){rcmail.drag_active&&(g.ts=window.setTimeout(function(){g.scroll("up")},g.delay))}).mouseout(function(){g.ts&&window.clearTimeout(g.ts)});this.scroll=function(e){var b=
this,f=this.step_size;rcmail.drag_active&&("down"==e&&(f*=-1),this.list.get(0).scrollTop+=f,this.ts=window.setTimeout(function(){b.scroll(e)},this.step_time))}}
function rcube_splitter(e){function q(f){if(bw.konq||bw.chrome||bw.safari)document.body.style.webkitUserSelect="none";b.p1pos=b.relative?b.p1.position():b.p1.offset();b.p2pos=b.relative?b.p2.position():b.p2.offset();b.drag_active=!0;$(document).on("mousemove."+this.id,r).on("mouseup."+this.id,g);rcmail.message_list&&(rcmail.message_list.drag_active=!0);$("iframe").each(function(b,f){$("<div>").attr("id","iframe-splitter-fix-"+b).addClass("iframe-splitter-fix").css({background:"#fff",width:f.offsetWidth+
"px",height:f.offsetHeight+"px",position:"absolute",opacity:"0.001",zIndex:1E3}).css($(this).offset()).appendTo("body")})}function r(f){if(!b.drag_active)return!1;window.clearTimeout(b.ts);b.ts=window.setTimeout(function(){var e=rcube_event.get_mouse_pos(f);if(b.relative){var g=b.parent.offset();e.x-=g.left;e.y-=g.top}b.horizontal?e.y-b.halfsize>b.p1pos.top&&e.y+b.halfsize<b.p2pos.top+b.p2.outerHeight()&&(b.pos=Math.max(b.min,e.y-Math.max(0,b.offset)),b.pos>b.min&&(b.pos=Math.min(b.pos,b.parent.height()-
b.min)),b.resize()):e.x-b.halfsize>b.p1pos.left&&e.x+b.halfsize<b.p2pos.left+b.p2.outerWidth()&&(b.pos=Math.max(b.min,e.x-Math.max(0,b.offset)),b.pos>b.min&&(b.pos=Math.min(b.pos,b.parent.width()-b.min)),b.resize());b.p1pos=b.relative?b.p1.position():b.p1.offset();b.p2pos=b.relative?b.p2.position():b.p2.offset()},1);return!1}function g(f){if(bw.konq||bw.chrome||bw.safari)document.body.style.webkitUserSelect="auto";$(document).off("."+b.id);b.drag_active=!1;rcmail.message_list&&(rcmail.message_list.drag_active=
!1);$("div.iframe-splitter-fix").remove();b.set_cookie();"function"==typeof b.callback&&b.callback(b);return bw.safari?!0:rcube_event.cancel(f)}function w(f){b.horizontal?(f=parseInt(b.parent.outerHeight(),10)-parseInt(b.p2[0].style.top,10),b.p2.css("height",(0<f?f:0)+"px")):(f=parseInt(b.parent.outerWidth(),10)-parseInt(b.p2[0].style.left,10),b.p2.css("width",(0<f?f:0)+"px"))}this.p=e;this.id=e.id;this.horizontal="horizontal"==e.orientation||"h"==e.orientation;this.halfsize=(void 0!==e.size?e.size:
10)/2;this.pos=e.start||0;this.min=e.min||20;this.offset=e.offset||0;this.relative=e.relative?!0:!1;this.drag_active=!1;this.render=e.render;this.callback=e.callback;var b=this;rcube_splitter._instances[this.id]=b;this.init=function(){this.p1=$(this.p.p1);this.p2=$(this.p.p2);this.parent=this.p1.parent();if(this.p1.length&&this.p2.length){this.p1pos=this.relative?this.p1.position():this.p1.offset();this.p2pos=this.relative?this.p2.position():this.p2.offset();this.handle=$("<div>").attr("id",this.id).attr("unselectable",
"on").attr("role","presentation").addClass("splitter "+(this.horizontal?"splitter-h":"splitter-v")).appendTo(this.parent).mousedown(q);if(this.horizontal){var b=this.p1pos.top+this.p1.outerHeight();this.handle.css({left:"0px",top:b+"px"})}else b=this.p1pos.left+this.p1.outerWidth(),this.handle.css({left:b+"px",top:"0px"});bw.ie&&$(window).resize(w);(b=this.get_cookie())&&!isNaN(b)?(this.pos=parseFloat(b),this.resize()):this.pos&&(this.resize(),this.set_cookie())}};this.resize=function(){if(this.horizontal){if(this.p1.css("height",
Math.floor(this.pos-this.p1pos.top-Math.floor(this.halfsize))+"px"),this.p2.css("top",Math.ceil(this.pos+Math.ceil(this.halfsize)+2)+"px"),this.handle.css("top",Math.round(this.pos-this.halfsize+this.offset)+"px"),bw.ie){var b=parseInt(this.parent.outerHeight(),10)-parseInt(this.p2.css("top"),10);this.p2.css("height",(0<b?b:0)+"px")}}else this.p1.css("width",Math.floor(this.pos-this.p1pos.left-Math.floor(this.halfsize))+"px"),this.p2.css("left",Math.ceil(this.pos+Math.ceil(this.halfsize))+"px"),this.handle.css("left",
Math.round(this.pos-this.halfsize+this.offset+3)+"px"),bw.ie&&(b=parseInt(this.parent.outerWidth(),10)-parseInt(this.p2.css("left"),10),this.p2.css("width",(0<b?b:0)+"px"));this.p2.resize();this.p1.resize();this.drag_active&&$("iframe").each(function(b,e){var f=$(this).offset();$("#iframe-splitter-fix-"+b).css({top:f.top+"px",left:f.left+"px",width:e.offsetWidth+"px",height:e.offsetHeight+"px"})});"function"==typeof this.render&&this.render(this)};this.get_cookie=function(){return window.UI?UI.get_pref(this.id):
null};this.set_cookie=function(){window.UI&&UI.save_pref(this.id,this.pos)}}rcube_splitter._instances={};rcube_splitter.get_instance=function(e){return rcube_splitter._instances[e]};

View File

@ -10,7 +10,7 @@ html, body {
}
body {
background: url(images/watermark.jpg) center no-repeat #fff;
background: url(images/watermark.jpg?v=e784.5000) center no-repeat #fff;
}
</style>