+ for (var k in this.popups) {
+ if (this.popups[k].obj.is(':visible'))
+ this.show_popup(k, false);
+ }
+ }
+},
+
+switch_preview_pane: function(elem)
+{
+ var uid, prev_frm = $('#mailpreviewframe');
+
+ if (elem.checked) {
+ rcmail.env.contentframe = 'messagecontframe';
+ if (mailviewsplit.layer) {
+ mailviewsplit.resize();
+ mailviewsplit.layer.elm.style.display = '';
+ }
+ else
+ mailviewsplit.init();
+
+ if (bw.opera) {
+ $('#messagelistcontainer').css({height: ''});
+ }
+ prev_frm.show();
+
+ if (uid = rcmail.message_list.get_single_selection())
+ rcmail.show_message(uid, false, true);
+ }
+ else {
+ prev_frm.hide();
+ if (bw.ie6 || bw.ie7) {
+ var fr = document.getElementById('mailcontframe');
+ fr.style.bottom = 0;
+ fr.style.height = parseInt(fr.parentNode.offsetHeight)+'px';
+ }
+ else {
+ $('#mailcontframe').css({height: 'auto', bottom: 0});
+ if (bw.opera)
+ $('#messagelistcontainer').css({height: 'auto'});
+ }
+ if (mailviewsplit.layer)
+ mailviewsplit.layer.elm.style.display = 'none';
+
+ rcmail.env.contentframe = null;
+ rcmail.show_contentframe(false);
+ }
+ rcmail.http_post('save-pref', '_name=preview_pane&_value='+(elem.checked?1:0));
+},
+
+/* Message composing */
+init_compose_form: function()
+{
+ var f, field, fields = ['cc', 'bcc', 'replyto', 'followupto'],
+ div = document.getElementById('compose-div'),
+ headers_div = document.getElementById('compose-headers-div');
+
+ // Show input elements with non-empty value
+ for (f=0; f<fields.length; f++) {
+ if ((field = $('#_'+fields[f])) && field.length && field.val() != '')
+ rcmail_ui.show_header_form(fields[f]);
+ }
+
+ // prevent from form data loss when pressing ESC key in IE
+ if (bw.ie) {
+ var form = rcube_find_object('form');
+ form.onkeydown = function (e) {
+ if (rcube_event.get_keycode(e) == 27)
+ rcube_event.cancel(e);
+ };
+ }
+
+ $(window).resize(function() {
+ rcmail_ui.resize_compose_body();
+ });
+
+ $('#compose-container').resize(function() {
+ rcmail_ui.resize_compose_body();
+ });
+
+ div.style.top = (parseInt(headers_div.offsetHeight, 10) + 3) + 'px';
+ $(window).resize();
+},
+
+resize_compose_body: function()
+{
+ var div = $('#compose-div .boxlistcontent'), w = div.width(), h = div.height();
+ w -= 8; // 2 x 3px padding + 2 x 1px border
+ h -= 4;
+
+ $('#compose-body').width(w+'px').height(h+'px');
+
+ if (window.tinyMCE && tinyMCE.get('compose-body')) {
+ $('#compose-body_tbl').width((w+6)+'px').height('');
+ $('#compose-body_ifr').width((w+6)+'px').height((h-54)+'px');