function rcube_mail_ui(){var env={};var popups={};var popupconfig={forwardmenu:{editable:1},searchmenu:{editable:1,callback:searchmenu},attachmentmenu:{},listoptions:{editable:1},groupmenu:{above:1},mailboxmenu:{above:1},spellmenu:{callback:spellmenu},"folder-selector":{iconized:1}};var me=this;var mailviewsplit;var mailviewsplit2;var compose_headers={};var prefs;this.set=setenv;this.init=init;this.init_tabs=init_tabs;this.show_about=show_about;this.show_popup=show_popup;this.toggle_popup=toggle_popup;this.add_popup=add_popup;this.import_dialog=import_dialog;this.set_searchmod=set_searchmod;this.show_header_row=show_header_row;this.hide_header_row=hide_header_row;this.update_quota=update_quota;this.get_pref=get_pref;this.save_pref=save_pref;this.folder_search_init=folder_search_init;if(window.$&&document.body){var minmode=get_pref("minimalmode");if(parseInt(minmode)||(minmode===null&&$(window).height()<850)){$(document.body).addClass("minimal")}if(bw.tablet){$("#viewport").attr("content","width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0")}$(document).ready(function(){me.init()})}function setenv(key,val){env[key]=val}function get_pref(key){if(!prefs){prefs=rcmail.local_storage_get_item("prefs.larry",{})}if(prefs[key]==null){var cookie=rcmail.get_cookie(key);if(cookie!=null){prefs[key]=cookie;if(rcmail.local_storage_set_item("prefs.larry",prefs)){rcmail.set_cookie(key,cookie,new Date())}}}return prefs[key]}function save_pref(key,val){prefs[key]=val;if(!rcmail.local_storage_set_item("prefs.larry",prefs)){rcmail.set_cookie(key,val,false)}}function init(){rcmail.addEventListener("message",message_displayed);$.widget("ui.dialog",$.ui.dialog,{open:function(){this._super();dialog_open(this);return this}});$("#taskbar a").each(function(i,elem){$(elem).append(''+$(".button-inner",this).html()+"")});$("#taskbar .minmodetoggle").click(function(e){var ismin=$(document.body).toggleClass("minimal").hasClass("minimal");save_pref("minimalmode",ismin?1:0);$(window).resize()});if(rcmail.env.task=="mail"){rcmail.addEventListener("menu-open",menu_toggle).addEventListener("menu-close",menu_toggle).addEventListener("menu-save",save_listoptions).addEventListener("enable-command",enable_command).addEventListener("responseafterlist",function(e){switch_view_mode(rcmail.env.threading?"thread":"list",true)}).addEventListener("responseaftersearch",function(e){switch_view_mode(rcmail.env.threading?"thread":"list",true)});var dragmenu=$("#dragmessagemenu");if(dragmenu.length){rcmail.gui_object("dragmenu","dragmessagemenu");popups.dragmenu=dragmenu}if(rcmail.env.action=="show"||rcmail.env.action=="preview"){rcmail.addEventListener("aftershow-headers",function(){layout_messageview()}).addEventListener("afterhide-headers",function(){layout_messageview()});$("#previewheaderstoggle").click(function(e){toggle_preview_headers();if(this.blur&&!rcube_event.is_keyboard(e)){this.blur()}return false});$("#attachment-list > li").each(function(){attachmentmenu_append(this)});if(rcmail.env.action=="preview"&&get_pref("previewheaders")=="1"){toggle_preview_headers()}if(rcmail.env.action=="show"){$("#messagecontent").focus()}}else{if(rcmail.env.action=="compose"){rcmail.addEventListener("fileappended",function(e){if(e.attachment.complete){attachmentmenu_append(e.item)}}).addEventListener("aftertoggle-editor",function(e){window.setTimeout(function(){layout_composeview()},200)}).addEventListener("compose-encrypted",function(e){$("select[name='editorSelector']").prop("disabled",e.active);$("a.button.attach, a.button.responses")[(e.active?"addClass":"removeClass")]("disabled");$("#responseslist a.insertresponse")[(e.active?"removeClass":"addClass")]("active")});init_compose_editfields();$("#composeoptionstoggle").click(function(e){var expanded=$("#composeoptions").toggle().is(":visible");$("#composeoptionstoggle").toggleClass("remove").attr("aria-expanded",expanded?"true":"false");layout_composeview();save_pref("composeoptions",expanded?"1":"0");if(!rcube_event.is_keyboard(e)){this.blur()}return false}).css("cursor","pointer");if(get_pref("composeoptions")!=="0"){$("#composeoptionstoggle").click()}var opener_rc=rcmail.opener();if(opener_rc&&opener_rc.env.action=="compose"&&$("#composeoptionstoggle",opener.document).hasClass("remove")){$("#composeoptionstoggle").click()}new rcube_splitter({id:"composesplitterv",p1:"#composeview-left",p2:"#composeview-right",orientation:"v",relative:true,start:206,min:170,size:12,render:layout_composeview}).init();$("#attachment-list > li").each(function(){attachmentmenu_append(this)})}else{if(rcmail.env.action=="bounce"){init_compose_editfields()}else{if(rcmail.env.action=="list"||!rcmail.env.action){mail_layout();$("#maillistmode").addClass(rcmail.env.threading?"":"selected").click(function(e){switch_view_mode("list");return false});$("#mailthreadmode").addClass(rcmail.env.threading?"selected":"").click(function(e){switch_view_mode("thread");return false});rcmail.init_pagejumper("#pagejumper");rcmail.addEventListener("setquota",update_quota).addEventListener("layout-change",mail_layout)}else{if(rcmail.env.action=="get"){new rcube_splitter({id:"mailpartsplitterv",p1:"#messagepartheader",p2:"#messagepartcontainer",orientation:"v",relative:true,start:226,min:150,size:12}).init()}}}}}if($("#mailview-left").length){new rcube_splitter({id:"mailviewsplitterv",p1:"#mailview-left",p2:"#mailview-right",orientation:"v",relative:true,start:206,min:150,size:12,callback:render_mailboxlist,render:resize_leftcol}).init()}}else{if(rcmail.env.task=="settings"){rcmail.addEventListener("init",function(){var tab="#settingstabpreferences";if(rcmail.env.action){tab="#settingstab"+(rcmail.env.action.indexOf("identity")>0?"identities":rcmail.env.action.replace(/\./g,""))}$(tab).addClass("selected").children().first().removeAttr("onclick").click(function(){return false})});if(rcmail.env.action=="folders"){new rcube_splitter({id:"folderviewsplitter",p1:"#folderslist",p2:"#folder-details",orientation:"v",relative:true,start:266,min:180,size:12}).init();rcmail.addEventListener("setquota",update_quota);folder_search_init($("#folderslist"))}else{if(rcmail.env.action=="identities"){new rcube_splitter({id:"identviewsplitter",p1:"#identitieslist",p2:"#identity-details",orientation:"v",relative:true,start:266,min:180,size:12}).init()}else{if(rcmail.env.action=="responses"){new rcube_splitter({id:"responseviewsplitter",p1:"#responseslist",p2:"#response-details",orientation:"v",relative:true,start:266,min:180,size:12}).init()}else{if(rcmail.env.action=="preferences"||!rcmail.env.action){new rcube_splitter({id:"prefviewsplitter",p1:"#sectionslist",p2:"#preferences-box",orientation:"v",relative:true,start:266,min:180,size:12}).init()}else{if(rcmail.env.action=="edit-prefs"){var legend=$("#preferences-details fieldset.advanced legend"),toggle=$('').text(rcmail.gettext("toggleadvancedoptions")).attr("title",rcmail.gettext("toggleadvancedoptions")).addClass("advanced-toggle");legend.click(function(e){toggle.html($(this).hasClass("collapsed")?"▲":"▼");$(this).toggleClass("collapsed").closest("fieldset").children(".propform").toggle()}).append(toggle).addClass("collapsed");if(bw.mz){legend.parents("form").css("display","inline")}}}}}}}else{if(rcmail.env.task=="addressbook"){rcmail.addEventListener("beforepushgroup",push_contactgroup).addEventListener("beforepopgroup",pop_contactgroup).addEventListener("menu-open",menu_toggle).addEventListener("menu-close",menu_toggle);if(rcmail.env.action==""){new rcube_splitter({id:"addressviewsplitterd",p1:"#addressview-left",p2:"#addressview-right",orientation:"v",relative:true,start:206,min:150,size:12,render:resize_leftcol}).init();new rcube_splitter({id:"addressviewsplitter",p1:"#addresslist",p2:"#contacts-box",orientation:"v",relative:true,start:266,min:260,size:12}).init()}var dragmenu=$("#dragcontactmenu");if(dragmenu.length){rcmail.gui_object("dragmenu","dragcontactmenu");popups.dragmenu=dragmenu}}}}$(".tabbed").each(function(idx,elem){init_tabs(elem)});$("select.decorated").each(function(){if(bw.opera){$(this).removeClass("decorated");return}var select=$(this),parent=select.parent(),height=Math.max(select.height(),26)-2,width=select.width()-22,title=$("option",this).first().text();if($("option:selected",this).val()!=""){title=$("option:selected",this).text()}var overlay=$(''+title+"").css("position","absolute").offset(select.position()).insertAfter(select);overlay.children().width(width).height(height).css("line-height",(height-1)+"px");if(parent.css("position")!="absolute"){parent.css("position","relative")}select.width(overlay.width()).on(bw.mz?"change keyup":"change",function(){var val=$("option:selected",this).text();$(this).next().children().text(val)});select.on("focus",function(e){overlay.addClass("focus")}).on("blur",function(e){overlay.removeClass("focus")})});var screen=$("body.minwidth");if(screen.length){screen.css("min-width",$(".toolbar").width()+$("#quicksearchbar").width()+$("#searchfilter").width()+30)}window.onresize=resize;resize()}function resize(e){var interval=e?10:0;if(rcmail.resize_timeout){window.clearTimeout(rcmail.resize_timeout)}rcmail.resize_timeout=window.setTimeout(function(){if(rcmail.env.task=="mail"){if(rcmail.env.action=="show"||rcmail.env.action=="preview"){layout_messageview()}else{if(rcmail.env.action=="compose"){layout_composeview()}}}$("body.iframe .footerleft").each(function(){var footer=$(this),body=$(document.body),floating=footer.hasClass("floating"),overflow=body.outerHeight(true)>$(window).height();if(overflow!=floating){var action=overflow?"addClass":"removeClass";footer[action]("floating");body[action]("floatingbuttons")}})},interval)}function message_displayed(p){var siblings=$(p.object).siblings("div");if(siblings.length){$(p.object).insertBefore(siblings.first())}if(p.type=="error"&&rcmail.env.task!="login"){rcmail.hide_message(p.object);if(me.message_timer){window.clearTimeout(me.message_timer)}if(!me.messagedialog){me.messagedialog=$("
").addClass("popupdialog").hide()}var msg=p.message,dialog_close=function(){me.messagedialog.is(":visible")&&me.messagedialog.dialog("destroy").hide()};if(me.messagedialog.is(":visible")&&me.messagedialog.text()!=msg){msg=me.messagedialog.html()+"

"+p.message+"

"}me.messagedialog.html(msg).dialog({resizable:false,closeOnEscape:true,dialogClass:p.type,title:rcmail.gettext("errortitle"),close:dialog_close,hide:{effect:"fadeOut"},width:420,minHeight:90}).show();me.messagedialog.closest("div[role=dialog]").attr("role","alertdialog");if(p.timeout>0){me.message_timer=window.setTimeout(dialog_close,p.timeout)}}}function dialog_open(dialog){var me=$(dialog.uiDialog),offset=me.offset(),position=me.position(),width=me.outerWidth(),maxWidth=$(window).width(),topOffset=offset.top-12;if(topOffset<0){me.css("top",position.top-topOffset)}if(offset.left+width+12>maxWidth){me.css("left",position.left-12)}}function mail_layout(p){var layout=p?p.new_layout:rcmail.env.layout,top=$("#mailview-top"),bottom=$("#mailview-bottom");if(p){$("#mainscreencontent").removeClass().addClass(layout)}$("#mailviewsplitter")[layout=="desktop"?"show":"hide"]();$("#mailviewsplitter2")[layout=="widescreen"?"show":"hide"]();$("#mailpreviewframe")[layout!="list"?"show":"hide"]();rcmail.env.contentframe=layout=="list"?null:"messagecontframe";if(layout=="widescreen"){$("#countcontrols").detach().appendTo($("#messagelistheader"));top.css({height:"auto",width:394});bottom.css({top:0,left:406,height:"auto"}).show();if(!mailviewsplit2){mailviewsplit2=new rcube_splitter({id:"mailviewsplitter2",p1:"#mailview-top",p2:"#mailview-bottom",orientation:"v",relative:true,start:416,min:400,size:12});mailviewsplit2.init()}else{mailviewsplit2.resize()}}else{if(layout=="desktop"){top.css({height:270,width:"auto"});bottom.css({left:0,top:284,height:"auto"}).show();if(!mailviewsplit){mailviewsplit=new rcube_splitter({id:"mailviewsplitter",p1:"#mailview-top",p2:"#mailview-bottom",orientation:"h",relative:true,start:276,min:150,size:12,offset:4});mailviewsplit.init()}else{mailviewsplit.resize()}}else{top.css({height:"auto",width:"auto"});bottom.hide()}}if(p&&p.old_layout=="widescreen"){$("#countcontrols").detach().appendTo($("#messagelistfooter"))}}function layout_messageview(){$("#messagecontent").css("top",($("#messageheader").outerHeight()+1)+"px");$("#message-objects div a").addClass("button");if(!$("#attachment-list li").length){$("div.rightcol").hide().attr("aria-hidden","true");$("div.leftcol").css("margin-right","0")}var mvlpe=$("#messagebody.mailvelope, #messagebody > .mailvelope");if(mvlpe.length){var h=$("#messagecontent").length?$("#messagecontent").height()-16:$(window).height()-mvlpe.offset().top-2;mvlpe.height(h)}}function render_mailboxlist(splitter){}function resize_leftcol(splitter){}function init_compose_editfields(){var f,v,field,fields=["cc","bcc","replyto","followupto"];for(f=0;f80&&content_height>line_height*1.5?2:1;$elem.css("height",(line_height*rows)+"px");layout_composeview()}}function layout_composeview(){var body=$("#composebody"),form=$("#compose-content"),bottom=$("#composeview-bottom"),w,h,bh,ovflw,btns=0,minheight=300;if(!form.length){return}bh=form.height()-bottom.position().top;ovflw=minheight-bh;btns=ovflw>-100?0:40;bottom.height(Math.max(minheight,bh));form.css("overflow",ovflw>0?"auto":"hidden");w=body.parent().width()-5;h=body.parent().height()-8;body.width(w).height(h);$("#composebodycontainer > div").width(w+7);$("#composebody_ifr").height(h+4-$("div.tox-toolbar").height());$("#googie_edit_layer").width(w).height(h);var abooks=$("#directorylist");if(abooks.length){$("#compose-contacts .scroller").css("top",abooks.position().top+abooks.outerHeight())}}function update_quota(p){var element=$("#quotadisplay"),menu=$("#quotamenu"),step=24,step_count=20,y=p.total?Math.ceil(p.percent/100*step_count)*step:0;if(p.total&&y==step*step_count&&p.percent<100){y-=step}element.css("background-position","0 -"+y+"px");element.attr("class","countdisplay p"+(Math.round(p.percent/10)*10));if(p.table){if(!menu.length){menu=$('
').appendTo($("body"))}menu.html(p.table);element.css("cursor","pointer").off("click").on("click",function(e){return rcmail.command("menu-open","quotamenu",e.target,e)})}}function folder_search_init(container){$(".boxtitle a.search",container).click(function(e){var title=$(".boxtitle",container),box=$(".listsearchbox",container),dir=box.is(":visible")?-1:1,height=34+($("select",box).length?22:0);box.slideToggle({duration:160,progress:function(animation,progress){if(dir<0){progress=1-progress}$(".scroller",container).css("top",(title.outerHeight()+height*progress)+"px")},complete:function(){box.toggleClass("expanded");if(box.is(":visible")){box.find("input[type=text]").focus();height=34+($("select",box).length?$("select",box).outerHeight()+4:0);$(".scroller",container).css("top",(title.outerHeight()+height)+"px")}else{$("a.reset",box).click()}}});return false})}function enable_command(p){if(p.command=="reply-list"&&rcmail.env.reply_all_mode==1){var label=rcmail.gettext(p.status?"replylist":"replyall");if(rcmail.env.action=="preview"){$("a.button.replyall").attr("title",label)}else{$("a.button.reply-all").text(label).attr("title",label)}}else{if(p.command=="compose-encrypted"){$("a.button.encrypt").parent().show()}else{if(p.command=="compose-encrypted-signed"){$("#encryptionmenulink").show()}}}}function add_popup(popup,config){var obj=popups[popup]=$("#"+popup);obj.appendTo(document.body);if(obj.length){popupconfig[popup]=$.extend(popupconfig[popup]||{},config||{})}}function toggle_popup(popup,e,config){if(config||!popupconfig[popup]){add_popup(popup,config)}return rcmail.command("menu-open",popup,e.target,e)}function show_popup(popup,show,config){if(config||!popupconfig[popup]){add_popup(popup,config)}config=popupconfig[popup]||{};var ref=$(config.link?config.link:"#"+popup+"link"),pos=ref.offset();if(ref.has(".inner")){ref=ref.children(".inner")}return rcmail.command("menu-open",{menu:popup,show:show},ref.get(0),$.Event("click",{target:ref.get(0),pageX:pos.left,pageY:pos.top,clientX:pos.left,clientY:pos.top}))}function toggle_preview_headers(){$("#preview-shortheaders").toggle();var full=$("#preview-allheaders").toggle(),button=$("a#previewheaderstoggle");if(full.is(":visible")){button.attr("href","#hide").removeClass("add").addClass("remove").attr("aria-expanded","true")}else{button.attr("href","#details").removeClass("remove").addClass("add").attr("aria-expanded","false")}save_pref("previewheaders",full.is(":visible")?"1":"0")}function switch_view_mode(mode,force){if(force||!$("#mail"+mode+"mode").hasClass("disabled")){$("#maillistmode, #mailthreadmode").removeClass("selected").attr("tabindex","0").attr("aria-disabled","false");$("#mail"+mode+"mode").addClass("selected").attr("tabindex","-1").attr("aria-disabled","true")}}function menu_toggle(p){if(p&&p.name=="messagelistmenu"){show_listoptions(p)}else{if(p){var config=popupconfig[p.name]||{},ref=$(config.link||"#"+p.name+"link"),visible=p.obj&&p.obj.is(":visible"),above=config.above;if(p.obj&&visible&&ref.length){var parent=ref.parent(),win=$(window),pos;if(parent.hasClass("dropbutton")){ref=parent}if(config.above||ref.hasClass("dropbutton")){pos=ref.offset();p.obj.css({left:pos.left+"px",top:(pos.top+(config.above?-p.obj.height():ref.outerHeight()))+"px"})}}if(p.obj&&config.iconized){p.obj.children("ul").addClass("iconized")}if(p.obj&&config.editable){p.obj.attr("data-editable","true")}if(typeof config.callback=="function"){config.callback(visible,p)}}}}function searchmenu(show){if(show&&rcmail.env.search_mods){var n,all="*",obj=popups.searchmenu,list=$('input:checkbox[name="s_mods[]"]',obj),mbox=rcmail.env.mailbox,mods=rcmail.env.search_mods,fzmodsrest=rcmail.env.fz_search_restrictions,scope=rcmail.env.search_scope||"base";if(rcmail.env.task=="mail"){mods=mods[mbox]||mods["*"];fzmodsrest=fzmodsrest[mbox]?fzmodsrest[mbox]:fzmodsrest["*"];all="text";$('input:radio[name="s_scope"]').prop("checked",false).filter("#s_scope_"+scope).prop("checked",true)}if(mods[all]){list.map(function(){this.checked=true;this.disabled=this.value!=all})}else{list.prop("disabled",false).prop("checked",false);for(n in mods){$("#s_mod_"+n).prop("checked",true)}for(n in fzmodsrest){if(!fzmodsrest[n]["visible"]){$("#s_mod_"+n).prop("checked",false);if(mods[n]){delete mods[n]}$("#fzsr_"+n).hide()}if(fzmodsrest[n]["disabled"]){$("#s_mod_"+n).prop("checked",false);if(mods[n]){delete mods[n]}$("#s_mod_"+n).prop("disabled",true)}}}}}function attachmentmenu(elem,event){var id=elem.parentNode.id.replace(/^attach/,"");$.each(["open","download","rename"],function(){var action=this;$("#attachmenu"+action).off("click").attr("onclick","").click(function(e){return rcmail.command(action+"-attachment",id,this)})});popupconfig.attachmentmenu.link=elem;rcmail.command("menu-open",{menu:"attachmentmenu",id:id},elem,event)}function spellmenu(show,p){var k,link,li,lang=rcmail.spellcheck_lang(),ul=$("ul",p.obj);if(!ul.length){ul=$('