X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=program%2Fjs%2Fapp.js;h=091584707a1e7ea802b3600633ce775494e90412;hb=511160353722ebec8c258ddd6fa963ec8851eede;hp=b5e8a4fe09f1a0cd1c733b0f52d4cfc440da62e9;hpb=3adad46e27086084a8b28a32fc4fbc953dbfef6c;p=roundcube.git diff --git a/program/js/app.js b/program/js/app.js index b5e8a4f..0915847 100644 --- a/program/js/app.js +++ b/program/js/app.js @@ -1,3310 +1,184 @@ -var rcube_webmail_client; -function rcube_webmail(){ -this.env=new Object(); -this.labels=new Object(); -this.buttons=new Object(); -this.gui_objects=new Object(); -this.commands=new Object(); -this.onloads=new Array(); -rcube_webmail_client=this; -this.ref="rcube_webmail_client"; -var _1=this; -this.dblclick_time=500; -this.message_time=3000; -this.identifier_expr=new RegExp("[^0-9a-z-_]","gi"); -this.mimetypes=new Array("text/plain","text/html","text/xml","image/jpeg","image/gif","image/png","application/x-javascript","application/pdf","application/x-shockwave-flash"); -this.env.keep_alive=60; -this.env.request_timeout=180; -this.env.draft_autosave=0; -this.env.comm_path="./"; -this.env.bin_path="./bin/"; -this.env.blankpage="program/blank.gif"; -this.set_env=function(p,_3){ -if(p!=null&&typeof (p)=="object"&&!_3){ -for(var n in p){ -this.env[n]=p[n]; -} -}else{ -this.env[p]=_3; -} -}; -this.add_label=function(_5,_6){ -this.labels[_5]=_6; -}; -this.register_button=function(_7,id,_9,_a,_b,_c){ -if(!this.buttons[_7]){ -this.buttons[_7]=new Array(); -} -var _d={id:id,type:_9}; -if(_a){ -_d.act=_a; -} -if(_b){ -_d.sel=_b; -} -if(_c){ -_d.over=_c; -} -this.buttons[_7][this.buttons[_7].length]=_d; -}; -this.gui_object=function(_e,id){ -this.gui_objects[_e]=id; -}; -this.add_onload=function(f){ -this.onloads[this.onloads.length]=f; -}; -this.init=function(){ -var p=this; -this.task=this.env.task; -if(!bw.dom||!bw.xmlhttp_test()){ -this.goto_url("error","_code=0x199"); -return; -} -for(var n in this.gui_objects){ -this.gui_objects[n]=rcube_find_object(this.gui_objects[n]); -} -if(this.env.framed&&parent.rcmail&&parent.rcmail.set_busy){ -parent.rcmail.set_busy(false); -} -this.enable_command("logout","mail","addressbook","settings",true); -if(this.env.permaurl){ -this.enable_command("permaurl",true); -} -switch(this.task){ -case "mail": -if(this.gui_objects.messagelist){ -this.message_list=new rcube_list_widget(this.gui_objects.messagelist,{multiselect:true,draggable:true,keyboard:true,dblclick_time:this.dblclick_time}); -this.message_list.row_init=function(o){ -p.init_message_row(o); -}; -this.message_list.addEventListener("dblclick",function(o){ -p.msglist_dbl_click(o); -}); -this.message_list.addEventListener("keypress",function(o){ -p.msglist_keypress(o); -}); -this.message_list.addEventListener("select",function(o){ -p.msglist_select(o); -}); -this.message_list.addEventListener("dragstart",function(o){ -p.drag_start(o); -}); -this.message_list.addEventListener("dragmove",function(o,e){ -p.drag_move(e); -}); -this.message_list.addEventListener("dragend",function(o){ -p.drag_active=false; -}); -this.message_list.init(); -this.enable_command("toggle_status","toggle_flag",true); -if(this.gui_objects.mailcontframe){ -this.gui_objects.mailcontframe.onmousedown=function(e){ -return p.click_on_list(e); -}; -document.onmouseup=function(e){ -return p.doc_mouse_up(e); -}; -}else{ -this.message_list.focus(); -} -} -if(this.env.coltypes){ -this.set_message_coltypes(this.env.coltypes); -} -this.enable_command("list","checkmail","compose","add-contact","search","reset-search","collapse-folder",true); -if(this.env.search_text!=null&&document.getElementById("quicksearchbox")!=null){ -document.getElementById("quicksearchbox").value=this.env.search_text; -} -if(this.env.action=="show"||this.env.action=="preview"){ -this.enable_command("show","reply","reply-all","forward","moveto","delete","mark","viewsource","print","load-attachment","load-headers",true); -if(this.env.next_uid){ -this.enable_command("nextmessage",true); -this.enable_command("lastmessage",true); -} -if(this.env.prev_uid){ -this.enable_command("previousmessage",true); -this.enable_command("firstmessage",true); -} -} -if(this.env.trash_mailbox&&this.env.mailbox!=this.env.trash_mailbox){ -this.set_alttext("delete","movemessagetotrash"); -} -if(this.env.action=="preview"&&this.env.framed&&parent.rcmail){ -this.enable_command("compose","add-contact",false); -parent.rcmail.show_contentframe(true); -} -if((this.env.action=="show"||this.env.action=="preview")&&this.env.blockedobjects){ -if(this.gui_objects.remoteobjectsmsg){ -this.gui_objects.remoteobjectsmsg.style.display="block"; -} -this.enable_command("load-images","always-load",true); -} -if(this.env.action=="compose"){ -this.enable_command("add-attachment","send-attachment","remove-attachment","send",true); -if(this.env.spellcheck){ -this.env.spellcheck.spelling_state_observer=function(s){ -_1.set_spellcheck_state(s); -}; -this.set_spellcheck_state("ready"); -if(rcube_find_object("_is_html").value=="1"){ -this.display_spellcheck_controls(false); -} -} -if(this.env.drafts_mailbox){ -this.enable_command("savedraft",true); -} -document.onmouseup=function(e){ -return p.doc_mouse_up(e); -}; -} -if(this.env.messagecount){ -this.enable_command("select-all","select-none","expunge",true); -} -if(this.purge_mailbox_test()){ -this.enable_command("purge",true); -} -this.set_page_buttons(); -if(this.env.action=="compose"){ -this.init_messageform(); -} -if(this.env.action=="print"){ -window.print(); -} -if(this.gui_objects.mailboxlist){ -this.env.unread_counts={}; -this.gui_objects.folderlist=this.gui_objects.mailboxlist; -this.http_request("getunread",""); -} -if(this.env.mdn_request&&this.env.uid){ -var _1f="_uid="+this.env.uid+"&_mbox="+urlencode(this.env.mailbox); -if(confirm(this.get_label("mdnrequest"))){ -this.http_post("sendmdn",_1f); -}else{ -this.http_post("mark",_1f+"&_flag=mdnsent"); -} -} -break; -case "addressbook": -if(this.gui_objects.contactslist){ -this.contact_list=new rcube_list_widget(this.gui_objects.contactslist,{multiselect:true,draggable:true,keyboard:true}); -this.contact_list.addEventListener("keypress",function(o){ -p.contactlist_keypress(o); -}); -this.contact_list.addEventListener("select",function(o){ -p.contactlist_select(o); -}); -this.contact_list.addEventListener("dragstart",function(o){ -p.drag_start(o); -}); -this.contact_list.addEventListener("dragmove",function(o,e){ -p.drag_move(e); -}); -this.contact_list.addEventListener("dragend",function(o){ -p.drag_active=false; -}); -this.contact_list.init(); -if(this.env.cid){ -this.contact_list.highlight_row(this.env.cid); -} -if(this.gui_objects.contactslist.parentNode){ -this.gui_objects.contactslist.parentNode.onmousedown=function(e){ -return p.click_on_list(e); -}; -document.onmouseup=function(e){ -return p.doc_mouse_up(e); -}; -}else{ -this.contact_list.focus(); -} -} -this.set_page_buttons(); -if(this.env.address_sources&&this.env.address_sources[this.env.source]&&!this.env.address_sources[this.env.source].readonly){ -this.enable_command("add",true); -} -if(this.env.cid){ -this.enable_command("show","edit",true); -} -if((this.env.action=="add"||this.env.action=="edit")&&this.gui_objects.editform){ -this.enable_command("save",true); -}else{ -this.enable_command("search","reset-search","moveto","import",true); -} -if(this.contact_list&&this.contact_list.rowcount>0){ -this.enable_command("export",true); -} -this.enable_command("list",true); -break; -case "settings": -this.enable_command("preferences","identities","save","folders",true); -if(this.env.action=="identities"||this.env.action=="edit-identity"||this.env.action=="add-identity"){ -this.enable_command("add",this.env.identities_level<2); -this.enable_command("delete","edit",true); -} -if(this.env.action=="edit-identity"||this.env.action=="add-identity"){ -this.enable_command("save",true); -} -if(this.env.action=="folders"){ -this.enable_command("subscribe","unsubscribe","create-folder","rename-folder","delete-folder",true); -} -if(this.gui_objects.identitieslist){ -this.identity_list=new rcube_list_widget(this.gui_objects.identitieslist,{multiselect:false,draggable:false,keyboard:false}); -this.identity_list.addEventListener("select",function(o){ -p.identity_select(o); -}); -this.identity_list.init(); -this.identity_list.focus(); -if(this.env.iid){ -this.identity_list.highlight_row(this.env.iid); -} -} -if(this.gui_objects.subscriptionlist){ -this.init_subscription_list(); -} -break; -case "login": -var _29=rcube_find_object("rcmloginuser"); -var _2a=rcube_find_object("rcmloginpwd"); -var _2b=rcube_find_object("rcmlogintz"); -if(_29){ -_29.onkeyup=function(e){ -return rcmail.login_user_keyup(e); -}; -} -if(_29&&_29.value==""){ -_29.focus(); -}else{ -if(_2a){ -_2a.focus(); -} -} -if(_2b){ -_2b.value=new Date().getTimezoneOffset()/-60; -} -this.enable_command("login",true); -break; -default: -break; -} -this.enable_command("logout",true); -this.loaded=true; -if(this.pending_message){ -this.display_message(this.pending_message[0],this.pending_message[1]); -} -this.start_keepalive(); -for(var i=0;i=0){ -this.set_env("flagged_col",_32+1); -} -} -if(this.env.flagged_col&&(row.flagged_icon=row.obj.cells[this.env.flagged_col].childNodes[0])&&row.flagged_icon.nodeName=="IMG"){ -var p=this; -row.flagged_icon.id="flaggedicn_"+row.uid; -row.flagged_icon._row=row.obj; -row.flagged_icon.onmousedown=function(e){ -p.command("toggle_flag",this); -}; -} -}; -this.init_messageform=function(){ -if(!this.gui_objects.messageform){ -return false; -} -var _34=rcube_find_object("_from"); -var _35=rcube_find_object("_to"); -var _36=rcube_find_object("_cc"); -var _37=rcube_find_object("_bcc"); -var _38=rcube_find_object("_replyto"); -var _39=rcube_find_object("_subject"); -var _3a=rcube_find_object("_message"); -var _3b=rcube_find_object("_draft_saveid"); -if(_35){ -this.init_address_input_events(_35); -} -if(_36){ -this.init_address_input_events(_36); -} -if(_37){ -this.init_address_input_events(_37); -} -if(_34&&_34.type=="select-one"&&(!_3b||_3b.value=="")&&rcube_find_object("_is_html").value!="1"){ -this.change_identity(_34); -} -if(_35&&_35.value==""){ -_35.focus(); -}else{ -if(_39&&_39.value==""){ -_39.focus(); -}else{ -if(_3a){ -this.set_caret2start(_3a); -} -} -} -this.compose_field_hash(true); -this.auto_save_start(); -}; -this.init_address_input_events=function(obj){ -var _3d=function(e){ -return _1.ksearch_keypress(e,this); -}; -if(obj.addEventListener){ -obj.addEventListener(bw.safari?"keydown":"keypress",_3d,false); -}else{ -obj.onkeydown=_3d; -} -obj.setAttribute("autocomplete","off"); -}; -this.command=function(_3f,_40,obj){ -if(obj&&obj.blur){ -obj.blur(); -} -if(this.busy){ -return false; -} -if(!this.commands[_3f]){ -if(this.env.framed&&parent.rcmail&&parent.rcmail.command){ -parent.rcmail.command(_3f,_40); -} -return false; -} -if(this.task=="mail"&&this.env.action=="compose"&&(_3f=="list"||_3f=="mail"||_3f=="addressbook"||_3f=="settings")){ -if(this.cmp_hash!=this.compose_field_hash()&&!confirm(this.get_label("notsentwarning"))){ -return false; -} -} -switch(_3f){ -case "login": -if(this.gui_objects.loginform){ -this.gui_objects.loginform.submit(); -} -break; -case "logout": -this.goto_url("logout","",true); -break; -case "mail": -case "addressbook": -case "settings": -this.switch_task(_3f); -break; -case "permaurl": -if(obj&&obj.href&&obj.target){ -return true; -}else{ -if(this.env.permaurl){ -parent.location.href=this.env.permaurl; -} -} -break; -case "list": -if(this.task=="mail"){ -if(this.env.search_request<0||(_40!=""&&(this.env.search_request&&_40!=this.env.mailbox))){ -this.reset_qsearch(); -} -this.list_mailbox(_40); -if(this.env.trash_mailbox){ -this.set_alttext("delete",this.env.mailbox!=this.env.trash_mailbox?"movemessagetotrash":"deletemessage"); -} -}else{ -if(this.task=="addressbook"){ -if(this.env.search_request<0||(this.env.search_request&&_40!=this.env.source)){ -this.reset_qsearch(); -} -this.list_contacts(_40); -this.enable_command("add",(this.env.address_sources&&!this.env.address_sources[_40].readonly)); -} -} -break; -case "load-headers": -this.load_headers(obj); -break; -case "sort": -var _42=_40.split("_"); -var _43=_42[0]; -var _44=_42[1]?_42[1].toUpperCase():null; -var _45; -if(_44==null){ -if(this.env.sort_col==_43){ -_44=this.env.sort_order=="ASC"?"DESC":"ASC"; -}else{ -_44=this.env.sort_order; -} -} -if(this.env.sort_col==_43&&this.env.sort_order==_44){ -break; -} -if(_45=document.getElementById("rcm"+this.env.sort_col)){ -this.set_classname(_45,"sorted"+(this.env.sort_order.toUpperCase()),false); -} -if(_45=document.getElementById("rcm"+_43)){ -this.set_classname(_45,"sorted"+_44,true); -} -this.env.sort_col=_43; -this.env.sort_order=_44; -this.list_mailbox("","",_43+"_"+_44); -break; -case "nextpage": -this.list_page("next"); -break; -case "lastpage": -this.list_page("last"); -break; -case "previouspage": -this.list_page("prev"); -break; -case "firstpage": -this.list_page("first"); -break; -case "expunge": -if(this.env.messagecount){ -this.expunge_mailbox(this.env.mailbox); -} -break; -case "purge": -case "empty-mailbox": -if(this.env.messagecount){ -this.purge_mailbox(this.env.mailbox); -} -break; -case "show": -if(this.task=="mail"){ -var uid=this.get_single_uid(); -if(uid&&(!this.env.uid||uid!=this.env.uid)){ -if(this.env.mailbox==this.env.drafts_mailbox){ -this.goto_url("compose","_draft_uid="+uid+"&_mbox="+urlencode(this.env.mailbox),true); -}else{ -this.show_message(uid); -} -} -}else{ -if(this.task=="addressbook"){ -var cid=_40?_40:this.get_single_cid(); -if(cid&&!(this.env.action=="show"&&cid==this.env.cid)){ -this.load_contact(cid,"show"); -} -} -} -break; -case "add": -if(this.task=="addressbook"){ -this.load_contact(0,"add"); -}else{ -if(this.task=="settings"){ -this.identity_list.clear_selection(); -this.load_identity(0,"add-identity"); -} -} -break; -case "edit": -var cid; -if(this.task=="addressbook"&&(cid=this.get_single_cid())){ -this.load_contact(cid,"edit"); -}else{ -if(this.task=="settings"&&_40){ -this.load_identity(_40,"edit-identity"); -} -} -break; -case "save-identity": -case "save": -if(this.gui_objects.editform){ -var _48=rcube_find_object("_pagesize"); -var _49=rcube_find_object("_name"); -var _4a=rcube_find_object("_email"); -if(_48&&isNaN(parseInt(_48.value))){ -alert(this.get_label("nopagesizewarning")); -_48.focus(); -break; -}else{ -if(_49&&_49.value==""){ -alert(this.get_label("nonamewarning")); -_49.focus(); -break; -}else{ -if(_4a&&!rcube_check_email(_4a.value)){ -alert(this.get_label("noemailwarning")); -_4a.focus(); -break; -} -} -} -this.gui_objects.editform.submit(); -} -break; -case "delete": -if(this.task=="mail"){ -this.delete_messages(); -}else{ -if(this.task=="addressbook"){ -this.delete_contacts(); -}else{ -if(this.task=="settings"){ -this.delete_identity(); -} -} -} -break; -case "move": -case "moveto": -if(this.task=="mail"){ -this.move_messages(_40); -}else{ -if(this.task=="addressbook"&&this.drag_active){ -this.copy_contact(null,_40); -} -} -break; -case "mark": -if(_40){ -this.mark_message(_40); -} -break; -case "toggle_status": -if(_40&&!_40._row){ -break; -} -var uid; -var _4b="read"; -if(_40._row.uid){ -uid=_40._row.uid; -if(this.message_list.rows[uid].deleted){ -_4b="undelete"; -}else{ -if(!this.message_list.rows[uid].unread){ -_4b="unread"; -} -} -} -this.mark_message(_4b,uid); -break; -case "toggle_flag": -if(_40&&!_40._row){ -break; -} -var uid; -var _4b="flagged"; -if(_40._row.uid){ -uid=_40._row.uid; -if(this.message_list.rows[uid].flagged){ -_4b="unflagged"; -} -} -this.mark_message(_4b,uid); -break; -case "always-load": -if(this.env.uid&&this.env.sender){ -this.add_contact(urlencode(this.env.sender)); -window.setTimeout(function(){ -_1.command("load-images"); -},300); -break; -} -case "load-images": -if(this.env.uid){ -this.show_message(this.env.uid,true,this.env.action=="preview"); -} -break; -case "load-attachment": -var _4c="_mbox="+urlencode(this.env.mailbox)+"&_uid="+this.env.uid+"&_part="+_40.part; -if(this.env.uid&&_40.mimetype&&find_in_array(_40.mimetype,this.mimetypes)>=0){ -if(_40.mimetype=="text/html"){ -_4c+="&_safe=1"; -} -this.attachment_win=window.open(this.env.comm_path+"&_action=get&"+_4c+"&_frame=1","rcubemailattachment"); -if(this.attachment_win){ -window.setTimeout(function(){ -_1.attachment_win.focus(); -},10); -break; -} -} -this.goto_url("get",_4c+"&_download=1",false); -break; -case "select-all": -this.message_list.select_all(_40); -break; -case "select-none": -this.message_list.clear_selection(); -break; -case "nextmessage": -if(this.env.next_uid){ -this.show_message(this.env.next_uid,false,this.env.action=="preview"); -} -break; -case "lastmessage": -if(this.env.last_uid){ -this.show_message(this.env.last_uid); -} -break; -case "previousmessage": -if(this.env.prev_uid){ -this.show_message(this.env.prev_uid,false,this.env.action=="preview"); -} -break; -case "firstmessage": -if(this.env.first_uid){ -this.show_message(this.env.first_uid); -} -break; -case "checkmail": -this.check_for_recent(true); -break; -case "compose": -var url=this.env.comm_path+"&_action=compose"; -if(this.task=="mail"){ -url+="&_mbox="+urlencode(this.env.mailbox); -if(this.env.mailbox==this.env.drafts_mailbox){ -var uid; -if(uid=this.get_single_uid()){ -url+="&_draft_uid="+uid; -} -}else{ -if(_40){ -url+="&_to="+urlencode(_40); -} -} -}else{ -if(this.task=="addressbook"){ -if(_40&&_40.indexOf("@")>0){ -url=this.get_task_url("mail",url); -this.redirect(url+"&_to="+urlencode(_40)); -break; -} -var _4e=new Array(); -if(_40){ -_4e[_4e.length]=_40; -}else{ -if(this.contact_list){ -var _4f=this.contact_list.get_selection(); -for(var n=0;n<_4f.length;n++){ -_4e[_4e.length]=_4f[n]; -} -} -} -if(_4e.length){ -this.http_request("mailto","_cid="+urlencode(_4e.join(","))+"&_source="+urlencode(this.env.source),true); -} -break; -} -} -url=url.replace(/&_framed=1/,""); -this.redirect(url); -break; -case "spellcheck": -if(window.tinyMCE&&tinyMCE.get("compose-body")){ -tinyMCE.execCommand("mceSpellCheck",true); -}else{ -if(this.env.spellcheck&&this.env.spellcheck.spellCheck&&this.spellcheck_ready){ -this.env.spellcheck.spellCheck(this.env.spellcheck.check_link); -this.set_spellcheck_state("checking"); -} -} -break; -case "savedraft": -self.clearTimeout(this.save_timer); -if(!this.gui_objects.messageform){ -break; -} -if(!this.env.drafts_mailbox||this.cmp_hash==this.compose_field_hash()){ -break; -} -this.set_busy(true,"savingmessage"); -var _51=this.gui_objects.messageform; -_51.target="savetarget"; -_51._draft.value="1"; -_51.submit(); -break; -case "send": -if(!this.gui_objects.messageform){ -break; -} -if(!this.check_compose_input()){ -break; -} -self.clearTimeout(this.save_timer); -this.set_busy(true,"sendingmessage"); -var _51=this.gui_objects.messageform; -_51.target="savetarget"; -_51._draft.value=""; -_51.submit(); -clearTimeout(this.request_timer); -break; -case "add-attachment": -this.show_attachment_form(true); -case "send-attachment": -self.clearTimeout(this.save_timer); -this.upload_file(_40); -break; -case "remove-attachment": -this.remove_attachment(_40); -break; -case "reply-all": -case "reply": -var uid; -if(uid=this.get_single_uid()){ -this.goto_url("compose","_reply_uid="+uid+"&_mbox="+urlencode(this.env.mailbox)+(_3f=="reply-all"?"&_all=1":""),true); -} -break; -case "forward": -var uid; -if(uid=this.get_single_uid()){ -this.goto_url("compose","_forward_uid="+uid+"&_mbox="+urlencode(this.env.mailbox),true); -} -break; -case "print": -var uid; -if(uid=this.get_single_uid()){ -_1.printwin=window.open(this.env.comm_path+"&_action=print&_uid="+uid+"&_mbox="+urlencode(this.env.mailbox)+(this.env.safemode?"&_safe=1":"")); -if(this.printwin){ -window.setTimeout(function(){ -_1.printwin.focus(); -},20); -if(this.env.action!="show"){ -this.mark_message("read",uid); -} -} -} -break; -case "viewsource": -var uid; -if(uid=this.get_single_uid()){ -_1.sourcewin=window.open(this.env.comm_path+"&_action=viewsource&_uid="+this.env.uid+"&_mbox="+urlencode(this.env.mailbox)); -if(this.sourcewin){ -window.setTimeout(function(){ -_1.sourcewin.focus(); -},20); -} -} -break; -case "add-contact": -this.add_contact(_40); -break; -case "search": -if(!_40&&this.gui_objects.qsearchbox){ -_40=this.gui_objects.qsearchbox.value; -} -if(_40){ -this.qsearch(_40); -break; -} -case "reset-search": -var s=this.env.search_request; -this.reset_qsearch(); -if(s&&this.env.mailbox){ -this.list_mailbox(this.env.mailbox); -}else{ -if(s&&this.task=="addressbook"){ -this.list_contacts(this.env.source); -} -} -break; -case "import": -if(this.env.action=="import"&&this.gui_objects.importform){ -var _53=document.getElementById("rcmimportfile"); -if(_53&&!_53.value){ -alert(this.get_label("selectimportfile")); -break; -} -this.gui_objects.importform.submit(); -this.set_busy(true,"importwait"); -this.lock_form(this.gui_objects.importform,true); -}else{ -this.goto_url("import"); -} -break; -case "export": -if(this.contact_list.rowcount>0){ -var _54=(this.env.source?"_source="+urlencode(this.env.source)+"&":""); -if(this.env.search_request){ -_54+="_search="+this.env.search_request; -} -this.goto_url("export",_54); -} -break; -case "collapse-folder": -if(_40){ -this.collapse_folder(_40); -} -break; -case "preferences": -this.goto_url(""); -break; -case "identities": -this.goto_url("identities"); -break; -case "delete-identity": -this.delete_identity(); -case "folders": -this.goto_url("folders"); -break; -case "subscribe": -this.subscribe_folder(_40); -break; -case "unsubscribe": -this.unsubscribe_folder(_40); -break; -case "create-folder": -this.create_folder(_40); -break; -case "rename-folder": -this.rename_folder(_40); -break; -case "delete-folder": -this.delete_folder(_40); -break; -} -return obj?false:true; -}; -this.enable_command=function(){ -var _55=arguments; -if(!_55.length){ -return -1; -} -var _56; -var _57=_55[_55.length-1]; -for(var n=0;n<_55.length-1;n++){ -_56=_55[n]; -this.commands[_56]=_57; -this.set_button(_56,(_57?"act":"pas")); -} -return true; -}; -this.set_busy=function(a,_5a){ -if(a&&_5a){ -var msg=this.get_label(_5a); -if(msg==_5a){ -msg="Loading..."; -} -this.display_message(msg,"loading",true); -}else{ -if(!a){ -this.hide_message(); -} -} -this.busy=a; -if(this.gui_objects.editform){ -this.lock_form(this.gui_objects.editform,a); -} -if(this.request_timer){ -clearTimeout(this.request_timer); -} -if(a&&this.env.request_timeout){ -this.request_timer=window.setTimeout(function(){ -_1.request_timed_out(); -},this.env.request_timeout*1000); -} -}; -this.get_label=function(_5c){ -if(this.labels[_5c]){ -return this.labels[_5c]; -}else{ -return _5c; -} -}; -this.switch_task=function(_5d){ -if(this.task===_5d&&_5d!="mail"){ -return; -} -var url=this.get_task_url(_5d); -if(_5d=="mail"){ -url+="&_mbox=INBOX"; -} -this.redirect(url); -}; -this.get_task_url=function(_5f,url){ -if(!url){ -url=this.env.comm_path; -} -return url.replace(/_task=[a-z]+/,"_task="+_5f); -}; -this.request_timed_out=function(){ -this.set_busy(false); -this.display_message("Request timed out!","error"); -}; -this.doc_mouse_up=function(e){ -var _62,li; -if(this.message_list){ -this.message_list.blur(); -_62=this.env.mailboxes; -}else{ -if(this.contact_list){ -this.contact_list.blur(); -_62=this.env.address_sources; -}else{ -if(this.ksearch_value){ -this.ksearch_blur(); -} -} -} -if(this.drag_active&&_62&&this.env.last_folder_target){ -this.set_classname(this.get_folder_li(this.env.last_folder_target),"droptarget",false); -this.command("moveto",_62[this.env.last_folder_target].id); -this.env.last_folder_target=null; -} -}; -this.drag_start=function(_64){ -var _65=this.task=="mail"?this.env.mailboxes:this.env.address_sources; -this.drag_active=true; -if(this.preview_timer){ -clearTimeout(this.preview_timer); -} -if(this.gui_objects.folderlist&&_65){ -var li,pos,_64,_68; -_64=rcube_find_object(this.task=="mail"?"mailboxlist":"directorylist"); -pos=rcube_get_object_pos(_64); -this.env.folderlist_coords={x1:pos.x,y1:pos.y,x2:pos.x+_64.offsetWidth,y2:pos.y+_64.offsetHeight}; -this.env.folder_coords=new Array(); -for(var k in _65){ -if(li=this.get_folder_li(k)){ -pos=rcube_get_object_pos(li.firstChild); -if(_68=li.firstChild.offsetHeight){ -this.env.folder_coords[k]={x1:pos.x,y1:pos.y,x2:pos.x+li.firstChild.offsetWidth,y2:pos.y+_68}; -} -} -} -} -}; -this.drag_move=function(e){ -if(this.gui_objects.folderlist&&this.env.folder_coords){ -var li,pos,_6d; -_6d=rcube_event.get_mouse_pos(e); -pos=this.env.folderlist_coords; -if(_6d.x=pos.x2||_6d.y=pos.y2){ -if(this.env.last_folder_target){ -this.set_classname(this.get_folder_li(this.env.last_folder_target),"droptarget",false); -this.env.last_folder_target=null; -} -return; -} -for(var k in this.env.folder_coords){ -pos=this.env.folder_coords[k]; -if(this.check_droptarget(k)&&((_6d.x>=pos.x1)&&(_6d.x=pos.y1)&&(_6d.y0)&&li.nextSibling.getElementsByTagName("ul")[0].style&&(li.nextSibling.getElementsByTagName("ul")[0].style.display!="none")){ -li.nextSibling.getElementsByTagName("ul")[0].style.display="none"; -li.nextSibling.getElementsByTagName("ul")[0].style.display=""; -} -this.http_post("save-pref","_name=collapsed_folders&_value="+urlencode(this.env.collapsed_folders)); -this.set_unread_count_display(id,false); -} -}; -this.click_on_list=function(e){ -if(this.message_list){ -this.message_list.focus(); -}else{ -if(this.contact_list){ -this.contact_list.focus(); -} -} -var _74; -if(_74=this.get_folder_li()){ -this.set_classname(_74,"unfocused",true); -} -return rcube_event.get_button(e)==2?true:rcube_event.cancel(e); -}; -this.msglist_select=function(_75){ -if(this.preview_timer){ -clearTimeout(this.preview_timer); -} -var _76=_75.selection.length==1; -if(this.env.mailbox==this.env.drafts_mailbox){ -this.enable_command("reply","reply-all","forward",false); -this.enable_command("show",_76); -this.enable_command("delete","moveto","mark",(_75.selection.length>0?true:false)); -}else{ -this.enable_command("show","reply","reply-all","forward","print",_76); -this.enable_command("delete","moveto","mark",(_75.selection.length>0?true:false)); -} -if(_76&&this.env.contentframe&&!_75.multi_selecting){ -this.preview_timer=window.setTimeout(function(){ -_1.msglist_get_preview(); -},200); -}else{ -if(this.env.contentframe){ -this.show_contentframe(false); -} -} -}; -this.msglist_dbl_click=function(_77){ -if(this.preview_timer){ -clearTimeout(this.preview_timer); -} -var uid=_77.get_single_selection(); -if(uid&&this.env.mailbox==this.env.drafts_mailbox){ -this.goto_url("compose","_draft_uid="+uid+"&_mbox="+urlencode(this.env.mailbox),true); -}else{ -if(uid){ -this.show_message(uid,false,false); -} -} -}; -this.msglist_keypress=function(_79){ -if(_79.key_pressed==_79.ENTER_KEY){ -this.command("show"); -}else{ -if(_79.key_pressed==_79.DELETE_KEY){ -this.command("delete"); -}else{ -if(_79.key_pressed==_79.BACKSPACE_KEY){ -this.command("delete"); -}else{ -_79.shiftkey=false; -} -} -} -}; -this.msglist_get_preview=function(){ -var uid=this.get_single_uid(); -if(uid&&this.env.contentframe&&!this.drag_active){ -this.show_message(uid,false,true); -}else{ -if(this.env.contentframe){ -this.show_contentframe(false); -} -} -}; -this.check_droptarget=function(id){ -if(this.task=="mail"){ -return (this.env.mailboxes[id]&&this.env.mailboxes[id].id!=this.env.mailbox&&!this.env.mailboxes[id].virtual); -}else{ -if(this.task=="addressbook"){ -return (id!=this.env.source&&this.env.address_sources[id]&&!this.env.address_sources[id].readonly); -}else{ -if(this.task=="settings"){ -return (id!=this.env.folder); -} -} -} -}; -this.show_message=function(id,_7d,_7e){ -if(!id){ -return; -} -var _7f=""; -var _80=_7e?"preview":"show"; -var _81=window; -if(_7e&&this.env.contentframe&&window.frames&&window.frames[this.env.contentframe]){ -_81=window.frames[this.env.contentframe]; -_7f="&_framed=1"; -} -if(_7d){ -_7f="&_safe=1"; -} -if(this.env.search_request){ -_7f+="&_search="+this.env.search_request; -} -var url="&_action="+_80+"&_uid="+id+"&_mbox="+urlencode(this.env.mailbox)+_7f; -if(_80=="preview"&&String(_81.location.href).indexOf(url)>=0){ -this.show_contentframe(true); -}else{ -this.set_busy(true,"loading"); -_81.location.href=this.env.comm_path+url; -if(_80=="preview"&&this.message_list&&this.message_list.rows[id]&&this.message_list.rows[id].unread){ -this.set_message(id,"unread",false); -if(this.env.unread_counts[this.env.mailbox]){ -this.env.unread_counts[this.env.mailbox]-=1; -this.set_unread_count(this.env.mailbox,this.env.unread_counts[this.env.mailbox],this.env.mailbox=="INBOX"); -} -} -} -}; -this.show_contentframe=function(_83){ -var frm; -if(this.env.contentframe&&(frm=rcube_find_object(this.env.contentframe))){ -if(!_83&&window.frames[this.env.contentframe]){ -if(window.frames[this.env.contentframe].location.href.indexOf(this.env.blankpage)<0){ -window.frames[this.env.contentframe].location.href=this.env.blankpage; -} -}else{ -if(!bw.safari){ -frm.style.display=_83?"block":"none"; -} -} -} -if(!_83&&this.busy){ -this.set_busy(false); -} -}; -this.list_page=function(_85){ -if(_85=="next"){ -_85=this.env.current_page+1; -} -if(_85=="last"){ -_85=this.env.pagecount; -} -if(_85=="prev"&&this.env.current_page>1){ -_85=this.env.current_page-1; -} -if(_85=="first"&&this.env.current_page>1){ -_85=1; -} -if(_85>0&&_85<=this.env.pagecount){ -this.env.current_page=_85; -if(this.task=="mail"){ -this.list_mailbox(this.env.mailbox,_85); -}else{ -if(this.task=="addressbook"){ -this.list_contacts(this.env.source,_85); -} -} -} -}; -this.filter_mailbox=function(_86){ -var _87; -if(this.gui_objects.qsearchbox){ -_87=this.gui_objects.qsearchbox.value; -} -this.message_list.clear(); -this.env.current_page=1; -this.set_busy(true,"searching"); -this.http_request("search","_filter="+_86+(_87?"&_q="+urlencode(_87):"")+(this.env.mailbox?"&_mbox="+urlencode(this.env.mailbox):""),true); -}; -this.list_mailbox=function(_88,_89,_8a){ -this.last_selected=0; -var _8b=""; -var _8c=window; -if(!_88){ -_88=this.env.mailbox; -} -if(_8a){ -_8b+="&_sort="+_8a; -} -if(this.env.search_request){ -_8b+="&_search="+this.env.search_request; -} -if(!_89&&_88!=this.env.mailbox){ -_89=1; -this.env.current_page=_89; -if(this.message_list){ -this.message_list.clear_selection(); -} -this.show_contentframe(false); -} -if(_88!=this.env.mailbox||(_88==this.env.mailbox&&!_89&&!_8a)){ -_8b+="&_refresh=1"; -} -this.select_folder(_88,this.env.mailbox); -this.env.mailbox=_88; -if(this.gui_objects.messagelist){ -this.list_mailbox_remote(_88,_89,_8b); -return; -} -if(this.env.contentframe&&window.frames&&window.frames[this.env.contentframe]){ -_8c=window.frames[this.env.contentframe]; -_8b+="&_framed=1"; -} -if(_88){ -this.set_busy(true,"loading"); -_8c.location.href=this.env.comm_path+"&_mbox="+urlencode(_88)+(_89?"&_page="+_89:"")+_8b; -} -}; -this.list_mailbox_remote=function(_8d,_8e,_8f){ -this.message_list.clear(); -var url="_mbox="+urlencode(_8d)+(_8e?"&_page="+_8e:""); -this.set_busy(true,"loading"); -this.http_request("list",url+_8f,true); -}; -this.expunge_mailbox=function(_91){ -var _92=false; -var _93=""; -if(_91==this.env.mailbox){ -_92=true; -this.set_busy(true,"loading"); -_93="&_reload=1"; -} -var url="_mbox="+urlencode(_91); -this.http_post("expunge",url+_93,_92); -}; -this.purge_mailbox=function(_95){ -var _96=false; -var _97=""; -if(!confirm(this.get_label("purgefolderconfirm"))){ -return false; -} -if(_95==this.env.mailbox){ -_96=true; -this.set_busy(true,"loading"); -_97="&_reload=1"; -} -var url="_mbox="+urlencode(_95); -this.http_post("purge",url+_97,_96); -return true; -}; -this.purge_mailbox_test=function(){ -return (this.env.messagecount&&(this.env.mailbox==this.env.trash_mailbox||this.env.mailbox==this.env.junk_mailbox||this.env.mailbox.match("^"+RegExp.escape(this.env.trash_mailbox)+RegExp.escape(this.env.delimiter))||this.env.mailbox.match("^"+RegExp.escape(this.env.junk_mailbox)+RegExp.escape(this.env.delimiter)))); -}; -this.set_message_icon=function(uid){ -var _9a; -var _9b=this.message_list.rows; -if(!_9b[uid]){ -return false; -} -if(_9b[uid].deleted&&this.env.deletedicon){ -_9a=this.env.deletedicon; -}else{ -if(_9b[uid].replied&&this.env.repliedicon){ -if(_9b[uid].forwarded&&this.env.forwardedrepliedicon){ -_9a=this.env.forwardedrepliedicon; -}else{ -_9a=this.env.repliedicon; -} -}else{ -if(_9b[uid].forwarded&&this.env.forwardedicon){ -_9a=this.env.forwardedicon; -}else{ -if(_9b[uid].unread&&this.env.unreadicon){ -_9a=this.env.unreadicon; -}else{ -if(this.env.messageicon){ -_9a=this.env.messageicon; -} -} -} -} -} -if(_9a&&_9b[uid].icon){ -_9b[uid].icon.src=_9a; -} -_9a=""; -if(_9b[uid].flagged&&this.env.flaggedicon){ -_9a=this.env.flaggedicon; -}else{ -if(!_9b[uid].flagged&&this.env.unflaggedicon){ -_9a=this.env.unflaggedicon; -} -} -if(_9b[uid].flagged_icon&&_9a){ -_9b[uid].flagged_icon.src=_9a; -} -}; -this.set_message_status=function(uid,_9d,_9e){ -var _9f=this.message_list.rows; -if(!_9f[uid]){ -return false; -} -if(_9d=="unread"){ -_9f[uid].unread=_9e; -}else{ -if(_9d=="deleted"){ -_9f[uid].deleted=_9e; -}else{ -if(_9d=="replied"){ -_9f[uid].replied=_9e; -}else{ -if(_9d=="forwarded"){ -_9f[uid].forwarded=_9e; -}else{ -if(_9d=="flagged"){ -_9f[uid].flagged=_9e; -} -} -} -} -} -this.env.messages[uid]=_9f[uid]; -}; -this.set_message=function(uid,_a1,_a2){ -var _a3=this.message_list.rows; -if(!_a3[uid]){ -return false; -} -if(_a1){ -this.set_message_status(uid,_a1,_a2); -} -if(_a3[uid].unread&&_a3[uid].classname.indexOf("unread")<0){ -_a3[uid].classname+=" unread"; -this.set_classname(_a3[uid].obj,"unread",true); -}else{ -if(!_a3[uid].unread&&_a3[uid].classname.indexOf("unread")>=0){ -_a3[uid].classname=_a3[uid].classname.replace(/\s*unread/,""); -this.set_classname(_a3[uid].obj,"unread",false); -} -} -if(_a3[uid].deleted&&_a3[uid].classname.indexOf("deleted")<0){ -_a3[uid].classname+=" deleted"; -this.set_classname(_a3[uid].obj,"deleted",true); -}else{ -if(!_a3[uid].deleted&&_a3[uid].classname.indexOf("deleted")>=0){ -_a3[uid].classname=_a3[uid].classname.replace(/\s*deleted/,""); -this.set_classname(_a3[uid].obj,"deleted",false); -} -} -if(_a3[uid].flagged&&_a3[uid].classname.indexOf("flagged")<0){ -_a3[uid].classname+=" flagged"; -this.set_classname(_a3[uid].obj,"flagged",true); -}else{ -if(!_a3[uid].flagged&&_a3[uid].classname.indexOf("flagged")>=0){ -_a3[uid].classname=_a3[uid].classname.replace(/\s*flagged/,""); -this.set_classname(_a3[uid].obj,"flagged",false); -} -} -this.set_message_icon(uid); -}; -this.move_messages=function(_a4){ -if(!_a4||_a4==this.env.mailbox||(!this.env.uid&&(!this.message_list||!this.message_list.get_selection().length))){ -return; -} -var _a5=false; -var _a6="&_target_mbox="+urlencode(_a4)+"&_from="+(this.env.action?this.env.action:""); -if(this.env.action=="show"){ -_a5=true; -this.set_busy(true,"movingmessage"); -}else{ -if(!this.env.flag_for_deletion){ -this.show_contentframe(false); -} -} -this.enable_command("reply","reply-all","forward","delete","mark","print",false); -this._with_selected_messages("moveto",_a5,_a6,(this.env.flag_for_deletion?false:true)); -}; -this.delete_messages=function(){ -var _a7=this.message_list?this.message_list.get_selection():new Array(); -if(!this.env.uid&&!_a7.length){ -return; -} -if(this.env.trash_mailbox&&String(this.env.mailbox).toLowerCase()!=String(this.env.trash_mailbox).toLowerCase()){ -if(this.message_list&&this.message_list.shiftkey){ -if(confirm(this.get_label("deletemessagesconfirm"))){ -this.permanently_remove_messages(); -} -}else{ -this.move_messages(this.env.trash_mailbox); -} -}else{ -if(this.env.trash_mailbox&&String(this.env.mailbox).toLowerCase()==String(this.env.trash_mailbox).toLowerCase()){ -this.permanently_remove_messages(); -}else{ -if(!this.env.trash_mailbox&&this.env.flag_for_deletion){ -this.mark_message("delete"); -if(this.env.action=="show"){ -this.command("nextmessage","",this); -}else{ -if(_a7.length==1){ -this.message_list.select_next(); -} -} -}else{ -if(!this.env.trash_mailbox){ -this.permanently_remove_messages(); -} -} -} -} -}; -this.permanently_remove_messages=function(){ -if(!this.env.uid&&(!this.message_list||!this.message_list.get_selection().length)){ -return; -} -this.show_contentframe(false); -this._with_selected_messages("delete",false,"&_from="+(this.env.action?this.env.action:""),true); -}; -this._with_selected_messages=function(_a8,_a9,_aa,_ab){ -var _ac=new Array(); -if(this.env.uid){ -_ac[0]=this.env.uid; -}else{ -var _ad=this.message_list.get_selection(); -var _ae=this.message_list.rows; -var id; -for(var n=0;n<_ad.length;n++){ -id=_ad[n]; -_ac[_ac.length]=id; -if(_ab){ -this.message_list.remove_row(id,(n==_ad.length-1)); -}else{ -this.set_message_status(id,"deleted",true); -if(this.env.read_when_deleted){ -this.set_message_status(id,"unread",false); -} -this.set_message(id); -} -} -} -if(this.env.search_request){ -_aa+="&_search="+this.env.search_request; -} -this.http_post(_a8,"_uid="+_ac.join(",")+"&_mbox="+urlencode(this.env.mailbox)+_aa,_a9); -}; -this.mark_message=function(_b1,uid){ -var _b3=new Array(); -var _b4=new Array(); -var _b5=this.message_list?this.message_list.get_selection():new Array(); -if(uid){ -_b3[0]=uid; -}else{ -if(this.env.uid){ -_b3[0]=this.env.uid; -}else{ -if(this.message_list){ -for(var n=0;n<_b5.length;n++){ -_b3[_b3.length]=_b5[n]; -} -} -} -} -if(!this.message_list){ -_b4=_b3; -}else{ -for(var id,n=0;n<_b3.length;n++){ -id=_b3[n]; -if((_b1=="read"&&this.message_list.rows[id].unread)||(_b1=="unread"&&!this.message_list.rows[id].unread)||(_b1=="delete"&&!this.message_list.rows[id].deleted)||(_b1=="undelete"&&this.message_list.rows[id].deleted)||(_b1=="flagged"&&!this.message_list.rows[id].flagged)||(_b1=="unflagged"&&this.message_list.rows[id].flagged)){ -_b4[_b4.length]=id; -} -} -} -if(!_b4.length){ -return; -} -switch(_b1){ -case "read": -case "unread": -this.toggle_read_status(_b1,_b4); -break; -case "delete": -case "undelete": -this.toggle_delete_status(_b4); -break; -case "flagged": -case "unflagged": -this.toggle_flagged_status(_b1,_b3); -break; -} -}; -this.toggle_read_status=function(_b8,_b9){ -for(var i=0;i<_b9.length;i++){ -this.set_message(_b9[i],"unread",(_b8=="unread"?true:false)); -} -this.http_post("mark","_uid="+_b9.join(",")+"&_flag="+_b8); -}; -this.toggle_flagged_status=function(_bb,_bc){ -for(var i=0;i<_bc.length;i++){ -this.set_message(_bc[i],"flagged",(_bb=="flagged"?true:false)); -} -this.http_post("mark","_uid="+_bc.join(",")+"&_flag="+_bb); -}; -this.toggle_delete_status=function(_be){ -var _bf=this.message_list?this.message_list.rows:new Array(); -if(_be.length==1){ -if(!_bf.length||(_bf[_be[0]]&&!_bf[_be[0]].deleted)){ -this.flag_as_deleted(_be); -}else{ -this.flag_as_undeleted(_be); -} -return true; -} -var _c0=true; -for(var i=0;i<_be.length;i++){ -uid=_be[i]; -if(_bf[uid]){ -if(!_bf[uid].deleted){ -_c0=false; -break; -} -} -} -if(_c0){ -this.flag_as_undeleted(_be); -}else{ -this.flag_as_deleted(_be); -} -return true; -}; -this.flag_as_undeleted=function(_c2){ -for(var i=0;i<_c2.length;i++){ -this.set_message(_c2[i],"deleted",false); -} -this.http_post("mark","_uid="+_c2.join(",")+"&_flag=undelete"); -return true; -}; -this.flag_as_deleted=function(_c4){ -var _c5=""; -var _c6=new Array(); -var _c7=this.message_list?this.message_list.rows:new Array(); -for(var i=0;i<_c4.length;i++){ -uid=_c4[i]; -if(_c7[uid]){ -this.set_message(uid,"deleted",true); -if(_c7[uid].unread){ -_c6[_c6.length]=uid; -} -} -} -if(_c6.length){ -_c5="&_ruid="+_c6.join(","); -} -this.http_post("mark","_uid="+_c4.join(",")+"&_flag=delete"+_c5); -return true; -}; -this.flag_deleted_as_read=function(_c9){ -var _ca; -var _cb=this.message_list?this.message_list.rows:new Array(); -var str=String(_c9); -var _cd=new Array(); -_cd=str.split(","); -for(var uid,i=0;i<_cd.length;i++){ -uid=_cd[i]; -if(_cb[uid]){ -this.set_message(uid,"unread",false); -} -} -}; -this.login_user_keyup=function(e){ -var key=rcube_event.get_keycode(e); -var elm; -if((key==13)&&(elm=rcube_find_object("_pass"))){ -elm.focus(); -return false; -} -}; -this.check_compose_input=function(){ -var _d3=rcube_find_object("_to"); -var _d4=rcube_find_object("_cc"); -var _d5=rcube_find_object("_bcc"); -var _d6=rcube_find_object("_from"); -var _d7=rcube_find_object("_subject"); -var _d8=rcube_find_object("_message"); -if(_d6.type=="text"&&!rcube_check_email(_d6.value,true)){ -alert(this.get_label("nosenderwarning")); -_d6.focus(); -return false; -} -var _d9=_d3.value?_d3.value:(_d4.value?_d4.value:_d5.value); -if(!rcube_check_email(_d9.replace(/^\s+/,"").replace(/[\s,;]+$/,""),true)){ -alert(this.get_label("norecipientwarning")); -_d3.focus(); -return false; -} -if(_d7&&_d7.value==""){ -var _da=prompt(this.get_label("nosubjectwarning"),this.get_label("nosubject")); -if(!_da&&_da!==""){ -_d7.focus(); -return false; -}else{ -_d7.value=_da?_da:this.get_label("nosubject"); -} -} -if((!window.tinyMCE||!tinyMCE.get("compose-body"))&&_d8.value==""&&!confirm(this.get_label("nobodywarning"))){ -_d8.focus(); -return false; -}else{ -if(window.tinyMCE&&tinyMCE.get("compose-body")&&!tinyMCE.get("compose-body").getContent()&&!confirm(this.get_label("nobodywarning"))){ -tinyMCE.get("compose-body").focus(); -return false; -} -} -this.stop_spellchecking(); -return true; -}; -this.stop_spellchecking=function(){ -if(this.env.spellcheck&&!this.spellcheck_ready){ -exec_event(this.env.spellcheck.check_link,"click"); -this.set_spellcheck_state("ready"); -} -}; -this.display_spellcheck_controls=function(vis){ -if(this.env.spellcheck){ -if(!vis){ -this.stop_spellchecking(); -} -this.env.spellcheck.check_link.style.visibility=vis?"visible":"hidden"; -this.env.spellcheck.switch_lan_pic.style.visibility=vis?"visible":"hidden"; -} -}; -this.set_spellcheck_state=function(s){ -this.spellcheck_ready=(s=="check_spelling"||s=="ready"); -this.enable_command("spellcheck",this.spellcheck_ready); -}; -this.set_draft_id=function(id){ -var f; -if(f=rcube_find_object("_draft_saveid")){ -f.value=id; -} -}; -this.auto_save_start=function(){ -if(this.env.draft_autosave){ -this.save_timer=self.setTimeout(function(){ -_1.command("savedraft"); -},this.env.draft_autosave*1000); -} -this.busy=false; -}; -this.compose_field_hash=function(_df){ -var _e0=rcube_find_object("_to"); -var _e1=rcube_find_object("_cc"); -var _e2=rcube_find_object("_bcc"); -var _e3=rcube_find_object("_subject"); -var _e4,_e5; -var str=""; -if(_e0&&_e0.value){ -str+=_e0.value+":"; -} -if(_e1&&_e1.value){ -str+=_e1.value+":"; -} -if(_e2&&_e2.value){ -str+=_e2.value+":"; -} -if(_e3&&_e3.value){ -str+=_e3.value+":"; -} -if(_e4=tinyMCE.get("compose-body")){ -str+=_e4.getContent(); -}else{ -_e5=rcube_find_object("_message"); -str+=_e5.value; -} -if(_df){ -this.cmp_hash=str; -} -return str; -}; -this.change_identity=function(obj){ -if(!obj||!obj.options){ -return false; -} -var id=obj.options[obj.selectedIndex].value; -var _e9=rcube_find_object("_message"); -var _ea=_e9?_e9.value:""; -var _eb=(rcube_find_object("_is_html").value=="1"); -var sig,p; -if(!this.env.identity){ -this.env.identity=id; -} -if(!_eb){ -if(this.env.identity&&this.env.signatures&&this.env.signatures[this.env.identity]){ -if(this.env.signatures[this.env.identity]["is_html"]){ -sig=this.env.signatures[this.env.identity]["plain_text"]; -}else{ -sig=this.env.signatures[this.env.identity]["text"]; -} -if(sig.indexOf("-- ")!=0){ -sig="-- \n"+sig; -} -p=_ea.lastIndexOf(sig); -if(p>=0){ -_ea=_ea.substring(0,p-1)+_ea.substring(p+sig.length,_ea.length); -} -} -_ea=_ea.replace(/[\r\n]+$/,""); -if(this.env.signatures&&this.env.signatures[id]){ -sig=this.env.signatures[id]["text"]; -if(this.env.signatures[id]["is_html"]){ -sig=this.env.signatures[id]["plain_text"]; -} -if(sig.indexOf("-- ")!=0){ -sig="-- \n"+sig; -} -_ea+="\n\n"+sig; -} -}else{ -var _ee=tinyMCE.get("compose-body"); -if(this.env.signatures){ -var _ef=_ee.dom.get("_rc_sig"); -var _f0=""; -var _f1=true; -if(!_ef){ -if(bw.ie){ -_ee.getBody().appendChild(_ee.getDoc().createElement("br")); -} -_ef=_ee.getDoc().createElement("div"); -_ef.setAttribute("id","_rc_sig"); -_ee.getBody().appendChild(_ef); -} -if(this.env.signatures[id]){ -_f0=this.env.signatures[id]["text"]; -_f1=this.env.signatures[id]["is_html"]; -} -if(_f1){ -_ef.innerHTML=_f0; -}else{ -_ef.innerHTML="
"+_f0+"
"; -} -} -} -if(_e9){ -_e9.value=_ea; -} -this.env.identity=id; -return true; -}; -this.show_attachment_form=function(a){ -if(!this.gui_objects.uploadbox){ -return false; -} -var elm,_f4; -if(elm=this.gui_objects.uploadbox){ -if(a&&(_f4=this.gui_objects.attachmentlist)){ -var pos=rcube_get_object_pos(_f4); -var _f6=pos.x; -var top=pos.y+_f4.offsetHeight+10; -elm.style.top=top+"px"; -elm.style.left=_f6+"px"; -} -elm.style.visibility=a?"visible":"hidden"; -} -try{ -if(!a&&this.gui_objects.attachmentform!=this.gui_objects.messageform){ -this.gui_objects.attachmentform.reset(); -} -} -catch(e){ -} -return true; -}; -this.upload_file=function(_f8){ -if(!_f8){ -return false; -} -var _f9=false; -for(var n=0;n<_f8.elements.length;n++){ -if(_f8.elements[n].type=="file"&&_f8.elements[n].value){ -_f9=true; -break; -} -} -if(_f9){ -var ts=new Date().getTime(); -var _fc="rcmupload"+ts; -if(document.all){ -var _fd=""; -document.body.insertAdjacentHTML("BeforeEnd",_fd); -}else{ -var _fe=document.createElement("IFRAME"); -_fe.name=_fc; -_fe.style.border="none"; -_fe.style.width=0; -_fe.style.height=0; -_fe.style.visibility="hidden"; -document.body.appendChild(_fe); -} -_f8.target=_fc; -_f8.action=this.env.comm_path+"&_action=upload"; -_f8.setAttribute("enctype","multipart/form-data"); -_f8.submit(); -} -this.gui_objects.attachmentform=_f8; -return true; -}; -this.add2attachment_list=function(_ff,_100){ -if(!this.gui_objects.attachmentlist){ -return false; -} -var li=document.createElement("LI"); -li.id=_ff; -li.innerHTML=_100; -this.gui_objects.attachmentlist.appendChild(li); -return true; -}; -this.remove_from_attachment_list=function(name){ -if(!this.gui_objects.attachmentlist){ -return false; -} -var list=this.gui_objects.attachmentlist.getElementsByTagName("li"); -for(i=0;i/g,">").replace(/##([^%]+)%%/g,"$1"); -li.onmouseover=function(){ -_1.ksearch_select(this); -}; -li.onmouseup=function(){ -_1.ksearch_click(this); -}; -li._rcm_id=_122[i]; -ul.appendChild(li); -} -if(this.ksearch_selected!==null){ -p=find_in_array(this.ksearch_selected,_122); -if(p>=0&&ul.childNodes){ -ul.childNodes[p].setAttribute("id","rcmksearchSelected"); -this.set_classname(ul.childNodes[p],"selected",true); -}else{ -this.ksearch_selected=null; -} -} -if(this.ksearch_selected===null){ -ul.firstChild.setAttribute("id","rcmksearchSelected"); -this.set_classname(ul.firstChild,"selected",true); -this.ksearch_selected=_122[0]; -} -var pos=rcube_get_object_pos(this.ksearch_input); -this.ksearch_pane.move(pos.x,pos.y+this.ksearch_input.offsetHeight); -this.ksearch_pane.show(1); -}else{ -this.ksearch_hide(); -} -}; -this.ksearch_click=function(node){ -this.insert_recipient(node._rcm_id); -this.ksearch_hide(); -if(_1.ksearch_input){ -this.ksearch_input.focus(); -} -}; -this.ksearch_blur=function(){ -if(this.ksearch_timer){ -clearTimeout(this.ksearch_timer); -} -this.ksearch_value=""; -this.ksearch_input=null; -this.ksearch_hide(); -}; -this.ksearch_hide=function(){ -this.ksearch_selected=null; -if(this.ksearch_pane){ -this.ksearch_pane.show(0); -} -}; -this.contactlist_keypress=function(list){ -if(list.key_pressed==list.DELETE_KEY){ -this.command("delete"); -} -}; -this.contactlist_select=function(list){ -if(this.preview_timer){ -clearTimeout(this.preview_timer); -} -var id,_12c,_1=this; -if(id=list.get_single_selection()){ -this.preview_timer=window.setTimeout(function(){ -_1.load_contact(id,"show"); -},200); -}else{ -if(this.env.contentframe){ -this.show_contentframe(false); -} -} -this.enable_command("compose",list.selection.length>0); -this.enable_command("edit",(id&&this.env.address_sources&&!this.env.address_sources[this.env.source].readonly)?true:false); -this.enable_command("delete",list.selection.length&&this.env.address_sources&&!this.env.address_sources[this.env.source].readonly); -return false; -}; -this.list_contacts=function(src,page){ -var _12f=""; -var _130=window; -if(!src){ -src=this.env.source; -} -if(page&&this.current_page==page&&src==this.env.source){ -return false; -} -if(src!=this.env.source){ -page=1; -this.env.current_page=page; -this.reset_qsearch(); -} -this.select_folder(src,this.env.source); -this.env.source=src; -if(this.gui_objects.contactslist){ -this.list_contacts_remote(src,page); -return; -} -if(this.env.contentframe&&window.frames&&window.frames[this.env.contentframe]){ -_130=window.frames[this.env.contentframe]; -_12f="&_framed=1"; -} -if(this.env.search_request){ -_12f+="&_search="+this.env.search_request; -} -this.set_busy(true,"loading"); -_130.location.href=this.env.comm_path+(src?"&_source="+urlencode(src):"")+(page?"&_page="+page:"")+_12f; -}; -this.list_contacts_remote=function(src,page){ -this.contact_list.clear(true); -this.show_contentframe(false); -this.enable_command("delete","compose",false); -var url=(src?"_source="+urlencode(src):"")+(page?(src?"&":"")+"_page="+page:""); -this.env.source=src; -if(this.env.search_request){ -url+="&_search="+this.env.search_request; -} -this.set_busy(true,"loading"); -this.http_request("list",url,true); -}; -this.load_contact=function(cid,_135,_136){ -var _137=""; -var _138=window; -if(this.env.contentframe&&window.frames&&window.frames[this.env.contentframe]){ -_137="&_framed=1"; -_138=window.frames[this.env.contentframe]; -this.show_contentframe(true); -}else{ -if(_136){ -return false; -} -} -if(_135&&(cid||_135=="add")&&!this.drag_active){ -this.set_busy(true); -_138.location.href=this.env.comm_path+"&_action="+_135+"&_source="+urlencode(this.env.source)+"&_cid="+urlencode(cid)+_137; -} -return true; -}; -this.copy_contact=function(cid,to){ -if(!cid){ -cid=this.contact_list.get_selection().join(","); -} -if(to!=this.env.source&&cid&&this.env.address_sources[to]&&!this.env.address_sources[to].readonly){ -this.http_post("copy","_cid="+urlencode(cid)+"&_source="+urlencode(this.env.source)+"&_to="+urlencode(to)); -} -}; -this.delete_contacts=function(){ -var _13b=this.contact_list.get_selection(); -if(!(_13b.length||this.env.cid)||!confirm(this.get_label("deletecontactconfirm"))){ -return; -} -var _13c=new Array(); -var qs=""; -if(this.env.cid){ -_13c[_13c.length]=this.env.cid; -}else{ -var id; -for(var n=0;n<_13b.length;n++){ -id=_13b[n]; -_13c[_13c.length]=id; -this.contact_list.remove_row(id,(n==_13b.length-1)); -} -if(_13b.length==1){ -this.show_contentframe(false); -} -} -if(this.env.search_request){ -qs+="&_search="+this.env.search_request; -} -this.http_post("delete","_cid="+urlencode(_13c.join(","))+"&_source="+urlencode(this.env.source)+"&_from="+(this.env.action?this.env.action:"")+qs); -return true; -}; -this.update_contact_row=function(cid,_141){ -var row; -if(this.contact_list.rows[cid]&&(row=this.contact_list.rows[cid].obj)){ -for(var c=0;c<_141.length;c++){ -if(row.cells[c]){ -row.cells[c].innerHTML=_141[c]; -} -} -return true; -} -return false; -}; -this.init_subscription_list=function(){ -var p=this; -this.subscription_list=new rcube_list_widget(this.gui_objects.subscriptionlist,{multiselect:false,draggable:true,keyboard:false,toggleselect:true}); -this.subscription_list.addEventListener("select",function(o){ -p.subscription_select(o); -}); -this.subscription_list.addEventListener("dragstart",function(o){ -p.drag_active=true; -}); -this.subscription_list.addEventListener("dragend",function(o){ -p.subscription_move_folder(o); -}); -this.subscription_list.row_init=function(row){ -var _149=row.obj.getElementsByTagName("A"); -if(_149[0]){ -_149[0].onclick=function(){ -p.rename_folder(row.id); -return false; -}; -} -if(_149[1]){ -_149[1].onclick=function(){ -p.delete_folder(row.id); -return false; -}; -} -row.obj.onmouseover=function(){ -p.focus_subscription(row.id); -}; -row.obj.onmouseout=function(){ -p.unfocus_subscription(row.id); -}; -}; -this.subscription_list.init(); -}; -this.identity_select=function(list){ -var id; -if(id=list.get_single_selection()){ -this.load_identity(id,"edit-identity"); -} -}; -this.load_identity=function(id,_14d){ -if(_14d=="edit-identity"&&(!id||id==this.env.iid)){ -return false; -} -var _14e=""; -var _14f=window; -if(this.env.contentframe&&window.frames&&window.frames[this.env.contentframe]){ -_14e="&_framed=1"; -_14f=window.frames[this.env.contentframe]; -document.getElementById(this.env.contentframe).style.visibility="inherit"; -} -if(_14d&&(id||_14d=="add-identity")){ -this.set_busy(true); -_14f.location.href=this.env.comm_path+"&_action="+_14d+"&_iid="+id+_14e; -} -return true; -}; -this.delete_identity=function(id){ -var _151=this.identity_list.get_selection(); -if(!(_151.length||this.env.iid)){ -return; -} -if(!id){ -id=this.env.iid?this.env.iid:_151[0]; -} -this.goto_url("delete-identity","_iid="+id,true); -return true; -}; -this.focus_subscription=function(id){ -var row,_154; -var reg=RegExp("["+RegExp.escape(this.env.delimiter)+"]?[^"+RegExp.escape(this.env.delimiter)+"]+$"); -if(this.drag_active&&this.env.folder&&(row=document.getElementById(id))){ -if(this.env.subscriptionrows[id]&&(_154=this.env.subscriptionrows[id][0])){ -if(this.check_droptarget(_154)&&!this.env.subscriptionrows[this.get_folder_row_id(this.env.folder)][2]&&(_154!=this.env.folder.replace(reg,""))&&(!_154.match(new RegExp("^"+RegExp.escape(this.env.folder+this.env.delimiter))))){ -this.set_env("dstfolder",_154); -this.set_classname(row,"droptarget",true); -} -}else{ -if(this.env.folder.match(new RegExp(RegExp.escape(this.env.delimiter)))){ -this.set_env("dstfolder",this.env.delimiter); -this.set_classname(this.subscription_list.frame,"droptarget",true); -} -} -} -}; -this.unfocus_subscription=function(id){ -var row; -this.set_env("dstfolder",null); -if(this.env.subscriptionrows[id]&&(row=document.getElementById(id))){ -this.set_classname(row,"droptarget",false); -}else{ -this.set_classname(this.subscription_list.frame,"droptarget",false); -} -}; -this.subscription_select=function(list){ -var id,_15a; -if((id=list.get_single_selection())&&this.env.subscriptionrows["rcmrow"+id]&&(_15a=this.env.subscriptionrows["rcmrow"+id][0])){ -this.set_env("folder",_15a); -}else{ -this.set_env("folder",null); -} -if(this.gui_objects.createfolderhint){ -this.gui_objects.createfolderhint.innerHTML=this.env.folder?this.get_label("addsubfolderhint"):""; -} -}; -this.subscription_move_folder=function(list){ -var reg=RegExp("["+RegExp.escape(this.env.delimiter)+"]?[^"+RegExp.escape(this.env.delimiter)+"]+$"); -if(this.env.folder&&this.env.dstfolder&&(this.env.dstfolder!=this.env.folder)&&(this.env.dstfolder!=this.env.folder.replace(reg,""))){ -var reg=new RegExp("[^"+RegExp.escape(this.env.delimiter)+"]*["+RegExp.escape(this.env.delimiter)+"]","g"); -var _15d=this.env.folder.replace(reg,""); -var _15e=this.env.dstfolder==this.env.delimiter?_15d:this.env.dstfolder+this.env.delimiter+_15d; -this.set_busy(true,"foldermoving"); -this.http_post("rename-folder","_folder_oldname="+urlencode(this.env.folder)+"&_folder_newname="+urlencode(_15e),true); -} -this.drag_active=false; -this.unfocus_subscription(this.get_folder_row_id(this.env.dstfolder)); -}; -this.create_folder=function(name){ -if(this.edit_folder){ -this.reset_folder_rename(); -} -var form; -if((form=this.gui_objects.editform)&&form.elements["_folder_name"]){ -name=form.elements["_folder_name"].value; -if(name.indexOf(this.env.delimiter)>=0){ -alert(this.get_label("forbiddencharacter")+" ("+this.env.delimiter+")"); -return false; -} -if(this.env.folder&&name!=""){ -name=this.env.folder+this.env.delimiter+name; -} -this.set_busy(true,"foldercreating"); -this.http_post("create-folder","_name="+urlencode(name),true); -}else{ -if(form.elements["_folder_name"]){ -form.elements["_folder_name"].focus(); -} -} -}; -this.rename_folder=function(id){ -var temp,row,form; -if(temp=this.edit_folder){ -this.reset_folder_rename(); -if(temp==id){ -return; -} -} -if(id&&this.env.subscriptionrows[id]&&(row=document.getElementById(id))){ -var reg=new RegExp(".*["+RegExp.escape(this.env.delimiter)+"]"); -this.name_input=document.createElement("INPUT"); -this.name_input.value=this.env.subscriptionrows[id][0].replace(reg,""); -this.name_input.style.width="100%"; -reg=new RegExp("["+RegExp.escape(this.env.delimiter)+"]?[^"+RegExp.escape(this.env.delimiter)+"]+$"); -this.name_input.__parent=this.env.subscriptionrows[id][0].replace(reg,""); -this.name_input.onkeypress=function(e){ -rcmail.name_input_keypress(e); -}; -row.cells[0].replaceChild(this.name_input,row.cells[0].firstChild); -this.edit_folder=id; -this.name_input.select(); -if(form=this.gui_objects.editform){ -form.onsubmit=function(){ -return false; -}; -} -} -}; -this.reset_folder_rename=function(){ -var cell=this.name_input?this.name_input.parentNode:null; -if(cell&&this.edit_folder&&this.env.subscriptionrows[this.edit_folder]){ -cell.innerHTML=this.env.subscriptionrows[this.edit_folder][1]; -} -this.edit_folder=null; -}; -this.name_input_keypress=function(e){ -var key=rcube_event.get_keycode(e); -if(key==13){ -var _16a=this.name_input?this.name_input.value:null; -if(this.edit_folder&&_16a){ -if(_16a.indexOf(this.env.delimiter)>=0){ -alert(this.get_label("forbiddencharacter")+" ("+this.env.delimiter+")"); -return false; -} -if(this.name_input.__parent){ -_16a=this.name_input.__parent+this.env.delimiter+_16a; -} -this.set_busy(true,"folderrenaming"); -this.http_post("rename-folder","_folder_oldname="+urlencode(this.env.subscriptionrows[this.edit_folder][0])+"&_folder_newname="+urlencode(_16a),true); -} -}else{ -if(key==27){ -this.reset_folder_rename(); -} -} -}; -this.delete_folder=function(id){ -var _16c=this.env.subscriptionrows[id][0]; -if(this.edit_folder){ -this.reset_folder_rename(); -} -if(_16c&&confirm(this.get_label("deletefolderconfirm"))){ -this.set_busy(true,"folderdeleting"); -this.http_post("delete-folder","_mboxes="+urlencode(_16c),true); -this.set_env("folder",null); -if(this.gui_objects.createfolderhint){ -this.gui_objects.createfolderhint.innerHTML=""; -} -} -}; -this.add_folder_row=function(name,_16e,_16f,_170){ -if(!this.gui_objects.subscriptionlist){ -return false; -} -for(var _171 in this.env.subscriptionrows){ -if(this.env.subscriptionrows[_171]!=null&&!this.env.subscriptionrows[_171][2]){ -break; -} -} -var _172,form; -var _174=this.gui_objects.subscriptionlist.tBodies[0]; -var id="rcmrow"+(_174.childNodes.length+1); -var _176=this.subscription_list.get_single_selection(); -if(_16f&&_16f.id){ -id=_16f.id; -_171=_16f.id; -} -if(!id||!(_172=document.getElementById(_171))){ -this.goto_url("folders"); -}else{ -var row=this.clone_table_row(_172); -row.id=id; -if(_170&&(_170=this.get_folder_row_id(_170))){ -_174.insertBefore(row,document.getElementById(_170)); -}else{ -_174.appendChild(row); -} -if(_16f){ -_174.removeChild(_16f); -} -} -this.env.subscriptionrows[row.id]=[name,_16e,0]; -row.cells[0].innerHTML=_16e; -if(!_16f){ -row.cells[1].innerHTML="*"; -} -if(!_16f&&row.cells[2]&&row.cells[2].firstChild.tagName=="INPUT"){ -row.cells[2].firstChild.value=name; -row.cells[2].firstChild.checked=true; -} -if(!_16f&&(form=this.gui_objects.editform)){ -if(form.elements["_folder_oldname"]){ -form.elements["_folder_oldname"].options[form.elements["_folder_oldname"].options.length]=new Option(name,name); -} -if(form.elements["_folder_name"]){ -form.elements["_folder_name"].value=""; -} -} -this.init_subscription_list(); -if(_176&&document.getElementById("rcmrow"+_176)){ -this.subscription_list.select_row(_176); -} -if(document.getElementById(id).scrollIntoView){ -document.getElementById(id).scrollIntoView(); -} -}; -this.replace_folder_row=function(_178,_179,_17a,_17b){ -var id=this.get_folder_row_id(_178); -var row=document.getElementById(id); -this.add_folder_row(_179,_17a,row,_17b); -var form,elm; -if((form=this.gui_objects.editform)&&(elm=form.elements["_folder_oldname"])){ -for(var i=0;ithis.env.current_page)); -this.enable_command("lastpage",(this.env.pagecount>this.env.current_page)); -this.enable_command("previouspage",(this.env.current_page>1)); -this.enable_command("firstpage",(this.env.current_page>1)); -}; -this.set_button=function(_18f,_190){ -var _191=this.buttons[_18f]; -var _192,obj; -if(!_191||!_191.length){ -return false; -} -for(var n=0;n<_191.length;n++){ -_192=_191[n]; -obj=document.getElementById(_192.id); -if(obj&&_192.type=="image"&&!_192.status){ -_192.pas=obj._original_src?obj._original_src:obj.src; -if(obj.runtimeStyle&&obj.runtimeStyle.filter&&obj.runtimeStyle.filter.match(/src=['"]([^'"]+)['"]/)){ -_192.pas=RegExp.$1; -} -}else{ -if(obj&&!_192.status){ -_192.pas=String(obj.className); -} -} -if(obj&&_192.type=="image"&&_192[_190]){ -_192.status=_190; -obj.src=_192[_190]; -}else{ -if(obj&&typeof (_192[_190])!="undefined"){ -_192.status=_190; -obj.className=_192[_190]; -} -} -if(obj&&_192.type=="input"){ -_192.status=_190; -obj.disabled=!_190; -} -} -}; -this.set_alttext=function(_195,_196){ -if(!this.buttons[_195]||!this.buttons[_195].length){ -return; -} -var _197,obj,link; -for(var n=0;n"+cont+""; -} -var _1b6=this; -this.gui_objects.message.innerHTML=cont; -this.gui_objects.message.style.display="block"; -if(type!="loading"){ -this.gui_objects.message.onmousedown=function(){ -_1b6.hide_message(); -return true; -}; -} -if(!hold){ -this.message_timer=window.setTimeout(function(){ -_1.hide_message(); -},this.message_time); -} -}; -this.hide_message=function(){ -if(this.gui_objects.message){ -this.gui_objects.message.style.display="none"; -this.gui_objects.message.onmousedown=null; -} -}; -this.select_folder=function(name,old){ -if(this.gui_objects.folderlist){ -var _1b9,_1ba; -if((_1b9=this.get_folder_li(old))){ -this.set_classname(_1b9,"selected",false); -this.set_classname(_1b9,"unfocused",false); -} -if((_1ba=this.get_folder_li(name))){ -this.set_classname(_1ba,"unfocused",false); -this.set_classname(_1ba,"selected",true); -} -} -}; -this.get_folder_li=function(name){ -if(this.gui_objects.folderlist){ -name=String(name).replace(this.identifier_expr,""); -return document.getElementById("rcmli"+name); -} -return null; -}; -this.set_message_coltypes=function(_1bc){ -this.coltypes=_1bc; -var cell,col; -var _1bf=this.gui_objects.messagelist?this.gui_objects.messagelist.tHead:null; -for(var n=0;_1bf&&n":""; -row.appendChild(col); -for(var n=0;n"; -}else{ -if(!_1c3.flagged&&this.env.unflaggedicon){ -col.innerHTML="\"\""; -} -} -}else{ -if(c=="attachment"){ -col.innerHTML=_1c4&&this.env.attachmenticon?"\"\"":" "; -}else{ -col.innerHTML=cols[c]; -} -} -row.appendChild(col); -} -this.message_list.insert_row(row,_1c5); -if(_1c5&&this.env.pagesize&&this.message_list.rowcount>this.env.pagesize){ -var uid=this.message_list.get_last_row(); -this.message_list.remove_row(uid); -this.message_list.clear_selection(uid); -} -}; -this.set_rowcount=function(text){ -if(this.gui_objects.countdisplay){ -this.gui_objects.countdisplay.innerHTML=text; -} -this.set_page_buttons(); -}; -this.set_mailboxname=function(_1cf){ -if(this.gui_objects.mailboxname&&_1cf){ -this.gui_objects.mailboxname.innerHTML=_1cf; -} -}; -this.set_quota=function(_1d0){ -if(this.gui_objects.quotadisplay&&_1d0){ -this.gui_objects.quotadisplay.innerHTML=_1d0; -} -}; -this.set_unread_count=function(mbox,_1d2,_1d3){ -if(!this.gui_objects.mailboxlist){ -return false; -} -this.env.unread_counts[mbox]=_1d2; -this.set_unread_count_display(mbox,_1d3); -}; -this.set_unread_count_display=function(mbox,_1d5){ -var reg,_1d7,item,_1d9,_1da,div; -if(item=this.get_folder_li(mbox)){ -_1d9=this.env.unread_counts[mbox]?this.env.unread_counts[mbox]:0; -_1d7=item.getElementsByTagName("a")[0]; -reg=/\s+\([0-9]+\)$/i; -_1da=0; -if((div=item.getElementsByTagName("div")[0])&&div.className.match(/collapsed/)){ -for(var k in this.env.unread_counts){ -if(k.indexOf(mbox+this.env.delimiter)==0){ -_1da+=this.env.unread_counts[k]; -} -} -} -if(_1d9&&_1d7.innerHTML.match(reg)){ -_1d7.innerHTML=_1d7.innerHTML.replace(reg," ("+_1d9+")"); -}else{ -if(_1d9){ -_1d7.innerHTML+=" ("+_1d9+")"; -}else{ -_1d7.innerHTML=_1d7.innerHTML.replace(reg,""); -} -} -reg=new RegExp(RegExp.escape(this.env.delimiter)+"[^"+RegExp.escape(this.env.delimiter)+"]+$"); -if(mbox.match(reg)){ -this.set_unread_count_display(mbox.replace(reg,""),false); -} -this.set_classname(item,"unread",(_1d9+_1da)>0?true:false); -} -reg=/^\([0-9]+\)\s+/i; -if(_1d5&&document.title){ -var _1dd=String(document.title); -var _1de=""; -if(_1d9&&_1dd.match(reg)){ -_1de=_1dd.replace(reg,"("+_1d9+") "); -}else{ -if(_1d9){ -_1de="("+_1d9+") "+_1dd; -}else{ -_1de=_1dd.replace(reg,""); -} -} -this.set_pagetitle(_1de); -} -}; -this.new_message_focus=function(){ -if(this.env.framed&&window.parent){ -window.parent.focus(); -}else{ -window.focus(); -} -}; -this.add_contact_row=function(cid,cols,_1e1){ -if(!this.gui_objects.contactslist||!this.gui_objects.contactslist.tBodies[0]){ -return false; -} -var _1e2=this.gui_objects.contactslist.tBodies[0]; -var _1e3=_1e2.rows.length; -var even=_1e3%2; -var row=document.createElement("TR"); -row.id="rcmrow"+cid; -row.className="contact "+(even?"even":"odd"); -if(this.contact_list.in_selection(cid)){ -row.className+=" selected"; -} -for(var c in cols){ -col=document.createElement("TD"); -col.className=String(c).toLowerCase(); -col.innerHTML=cols[c]; -row.appendChild(col); -} -this.contact_list.insert_row(row); -this.enable_command("export",(this.contact_list.rowcount>0)); -}; -this.toggle_prefer_html=function(_1e7){ -var _1e8; -if(_1e8=document.getElementById("rcmfd_addrbook_show_images")){ -_1e8.disabled=!_1e7.checked; -} -}; -this.set_headers=function(_1e9){ -if(this.gui_objects.all_headers_row&&this.gui_objects.all_headers_box&&_1e9){ -var box=this.gui_objects.all_headers_box; -box.innerHTML=_1e9; -box.style.display="block"; -if(this.env.framed&&parent.rcmail){ -parent.rcmail.set_busy(false); -}else{ -this.set_busy(false); -} -} -}; -this.load_headers=function(elem){ -if(!this.gui_objects.all_headers_row||!this.gui_objects.all_headers_box||!this.env.uid){ -return; -} -this.set_classname(elem,"show-headers",false); -this.set_classname(elem,"hide-headers",true); -this.gui_objects.all_headers_row.style.display=bw.ie?"block":"table-row"; -elem.onclick=function(){ -rcmail.hide_headers(elem); -}; -if(!this.gui_objects.all_headers_box.innerHTML){ -this.display_message(this.get_label("loading"),"loading",true); -this.http_post("headers","_uid="+this.env.uid); -} -}; -this.hide_headers=function(elem){ -if(!this.gui_objects.all_headers_row||!this.gui_objects.all_headers_box){ -return; -} -this.set_classname(elem,"hide-headers",false); -this.set_classname(elem,"show-headers",true); -this.gui_objects.all_headers_row.style.display="none"; -elem.onclick=function(){ -rcmail.load_headers(elem); -}; -}; -this.html2plain=function(_1ed,id){ -var _1ef=new rcube_http_request(); -var url=this.env.bin_path+"html2text.php"; -var _1f1=this; -this.set_busy(true,"converting"); -_1ef.onerror=function(o){ -_1f1.http_error(o); -}; -_1ef.oncomplete=function(o){ -_1f1.set_text_value(o,id); -}; -_1ef.POST(url,_1ed,"application/octet-stream"); -}; -this.set_text_value=function(_1f4,id){ -this.set_busy(false); -document.getElementById(id).value=_1f4.get_text(); -}; -this.redirect=function(url,lock){ -if(lock||lock===null){ -this.set_busy(true); -} -if(this.env.framed&&window.parent){ -parent.location.href=url; -}else{ -location.href=url; -} -}; -this.goto_url=function(_1f8,_1f9,lock){ -var _1fb=_1f9?"&"+_1f9:""; -this.redirect(this.env.comm_path+"&_action="+_1f8+_1fb,lock); -}; -this.http_sockets=new Array(); -this.get_request_obj=function(){ -for(var n=0;n0)); -} -case "moveto": -if(this.env.action=="show"){ -this.command("list"); -}else{ -if(this.message_list){ -this.message_list.init(); -} -} -break; -case "purge": -case "expunge": -if(!this.env.messagecount&&this.task=="mail"){ -if(this.env.contentframe){ -this.show_contentframe(false); -} -this.enable_command("show","reply","reply-all","forward","moveto","delete","mark","viewsource","print","load-attachment","purge","expunge","select-all","select-none","sort",false); -} -break; -case "check-recent": -case "getunread": -case "list": -if(this.task=="mail"){ -if(this.message_list&&_20c.__action=="list"){ -this.msglist_select(this.message_list); -} -this.enable_command("show","expunge","select-all","select-none","sort",(this.env.messagecount>0)); -this.enable_command("purge",this.purge_mailbox_test()); -}else{ -if(this.task=="addressbook"){ -this.enable_command("export",(this.contact_list&&this.contact_list.rowcount>0)); -} -} -break; -} -_20c.reset(); -}; -this.http_error=function(_210){ -if(_210.__lock){ -this.set_busy(false); -} -_210.reset(); -_210.__lock=false; -this.display_message("Unknown Server Error!","error"); -}; -this.send_keep_alive=function(){ -var d=new Date(); -this.http_request("keep-alive","_t="+d.getTime()); -}; -this.check_for_recent=function(_212){ -if(this.busy){ -return; -} -if(_212){ -this.set_busy(true,"checkingmail"); -} -this.http_request("check-recent",(this.env.search_request?"_search="+this.env.search_request+"&":"")+"_t="+(new Date().getTime()),true); -}; -this.get_single_uid=function(){ -return this.env.uid?this.env.uid:(this.message_list?this.message_list.get_single_selection():null); -}; -this.get_single_cid=function(){ -return this.env.cid?this.env.cid:(this.contact_list?this.contact_list.get_single_selection():null); -}; -this.get_caret_pos=function(obj){ -if(typeof (obj.selectionEnd)!="undefined"){ -return obj.selectionEnd; -}else{ -if(document.selection&&document.selection.createRange){ -var _214=document.selection.createRange(); -if(_214.parentElement()!=obj){ -return 0; -} -var gm=_214.duplicate(); -if(obj.tagName=="TEXTAREA"){ -gm.moveToElementText(obj); -}else{ -gm.expand("textedit"); -} -gm.setEndPoint("EndToStart",_214); -var p=gm.text.length; -return p<=obj.value.length?p:-1; -}else{ -return obj.value.length; -} -} -}; -this.set_caret2start=function(obj){ -if(obj.createTextRange){ -var _218=obj.createTextRange(); -_218.collapse(true); -_218.select(); -}else{ -if(obj.setSelectionRange){ -obj.setSelectionRange(0,0); -} -} -obj.focus(); -}; -this.lock_form=function(form,lock){ -if(!form||!form.elements){ -return; -} -var type; -for(var n=0;n0&&this.enable_command("export",!0);this.enable_command("list","listgroup",!0);break;case "settings":this.enable_command("preferences","identities", +"save","folders",!0);if(this.env.action=="identities")this.enable_command("add",this.env.identities_level<2);else if(this.env.action=="edit-identity"||this.env.action=="add-identity")this.enable_command("add",this.env.identities_level<2),this.enable_command("save","delete","edit","toggle-editor",!0);else if(this.env.action=="folders")this.enable_command("subscribe","unsubscribe","create-folder","rename-folder",!0);else if(this.env.action=="edit-folder"&&this.gui_objects.editform)this.enable_command("save", +"folder-size",!0),parent.rcmail.env.messagecount=this.env.messagecount,parent.rcmail.enable_command("purge",this.env.messagecount),$("input[type='text']").first().select();this.gui_objects.identitieslist?(this.identity_list=new rcube_list_widget(this.gui_objects.identitieslist,{multiselect:!1,draggable:!1,keyboard:!1}),this.identity_list.addEventListener("select",function(b){a.identity_select(b)}),this.identity_list.init(),this.identity_list.focus(),this.env.iid&&this.identity_list.highlight_row(this.env.iid)): +this.gui_objects.sectionslist?(this.sections_list=new rcube_list_widget(this.gui_objects.sectionslist,{multiselect:!1,draggable:!1,keyboard:!1}),this.sections_list.addEventListener("select",function(b){a.section_select(b)}),this.sections_list.init(),this.sections_list.focus()):this.gui_objects.subscriptionlist&&this.init_subscription_list();break;case "login":b=$("#rcmloginuser"),b.bind("keyup",function(a){return rcmail.login_user_keyup(a)}),b.val()==""?b.focus():$("#rcmloginpwd").focus(),$("#rcmlogintz").val((new Date).getTimezoneOffset()/ +-60),$("form").submit(function(){$("input[type=submit]",this).attr("disabled",!0);rcmail.display_message("","loading")}),this.enable_command("login",!0)}this.loaded=!0;this.pending_message&&this.display_message(this.pending_message[0],this.pending_message[1]);if(this.gui_objects.folderlist)this.gui_containers.foldertray=$(this.gui_objects.folderlist);this.triggerEvent("init",{task:this.task,action:this.env.action});for(var d in this.onloads)if(typeof this.onloads[d]=="string")eval(this.onloads[d]); +else if(typeof this.onloads[d]=="function")this.onloads[d]();this.start_keepalive()}};this.command=function(a,b,d){d&&d.blur&&d.blur();if(this.busy)return!1;if(!this.commands[a])return this.is_framed()&&parent.rcmail.command(a,b),!1;if(this.task=="mail"&&this.env.action=="compose"&&$.inArray(a,this.env.compose_commands)<0&&this.cmp_hash!=this.compose_field_hash()&&!confirm(this.get_label("notsentwarning")))return!1;if(typeof this.command_handlers[a]=="function")return a=this.command_handlers[a](b, +d),a!==null?a:d?!1:!0;else if(typeof this.command_handlers[a]=="string")return a=window[this.command_handlers[a]](b,d),a!==null?a:d?!1:!0;this.triggerEvent("actionbefore",{props:b,action:a});var e=this.triggerEvent("before"+a,b);if(typeof e!="undefined")if(e===!1)return!1;else b=e;switch(a){case "login":this.gui_objects.loginform&&this.gui_objects.loginform.submit();break;case "mail":case "addressbook":case "settings":case "logout":this.switch_task(a);break;case "permaurl":if(d&&d.href&&d.target)return!0; +else if(this.env.permaurl)parent.location.href=this.env.permaurl;break;case "menu-open":case "menu-save":return this.triggerEvent(a,{props:b}),!1;case "open":var f;if(f=this.get_single_uid())return d.href="?_task="+this.env.task+"&_action=show&_mbox="+urlencode(this.env.mailbox)+"&_uid="+f,!0;break;case "list":this.task=="mail"?((!this.env.search_request||b&&b!=this.env.mailbox)&&this.reset_qsearch(),this.list_mailbox(b),this.env.trash_mailbox&&this.set_alttext("delete",this.env.mailbox!=this.env.trash_mailbox? +"movemessagetotrash":"deletemessage")):this.task=="addressbook"&&((!this.env.search_request||b!=this.env.source)&&this.reset_qsearch(),this.list_contacts(b),this.enable_command("add","import",this.env.address_sources&&!this.env.address_sources[this.env.source].readonly));break;case "load-headers":this.load_headers(d);break;case "sort":var g=b;f=this.env.sort_col==g?this.env.sort_order=="ASC"?"DESC":"ASC":"ASC";this.set_list_sorting(g,f);this.list_mailbox("","",g+"_"+f);break;case "nextpage":this.list_page("next"); +break;case "lastpage":this.list_page("last");break;case "previouspage":this.list_page("prev");break;case "firstpage":this.list_page("first");break;case "expunge":this.env.messagecount&&this.expunge_mailbox(this.env.mailbox);break;case "purge":case "empty-mailbox":this.env.messagecount&&this.purge_mailbox(this.env.mailbox);break;case "show":if(this.task=="mail"){if((f=this.get_single_uid())&&(!this.env.uid||f!=this.env.uid))this.env.mailbox==this.env.drafts_mailbox?this.goto_url("compose","_draft_uid="+ +f+"&_mbox="+urlencode(this.env.mailbox),!0):this.show_message(f)}else this.task=="addressbook"&&(g=b?b:this.get_single_cid())&&!(this.env.action=="show"&&g==this.env.cid)&&this.load_contact(g,"show");break;case "add":this.task=="addressbook"?this.load_contact(0,"add"):this.task=="settings"&&(this.identity_list.clear_selection(),this.load_identity(0,"add-identity"));break;case "edit":if(this.task=="addressbook"&&(g=this.get_single_cid()))this.load_contact(g,"edit");else if(this.task=="settings"&&b)this.load_identity(b, +"edit-identity");else if(this.task=="mail"&&(g=this.get_single_uid()))e=this.env.mailbox==this.env.drafts_mailbox?"_draft_uid=":"_uid=",this.goto_url("compose",e+g+"&_mbox="+urlencode(this.env.mailbox),!0);break;case "save":if(this.gui_objects.editform){f=$("input[name='_pagesize']");g=$("input[name='_name']");e=$("input[name='_email']");if(f.length&&isNaN(parseInt(f.val()))){alert(this.get_label("nopagesizewarning"));f.focus();break}else if(g.length&&g.val()==""){alert(this.get_label("nonamewarning")); +g.focus();break}else if(e.length&&!rcube_check_email(e.val())){alert(this.get_label("noemailwarning"));e.focus();break}this.gui_objects.editform.submit()}break;case "delete":this.task=="mail"?this.delete_messages():this.task=="addressbook"?this.delete_contacts():this.task=="settings"&&this.delete_identity();break;case "move":case "moveto":this.task=="mail"?this.move_messages(b):this.task=="addressbook"&&this.drag_active&&this.copy_contact(null,b);break;case "copy":this.task=="mail"&&this.copy_messages(b); +break;case "mark":b&&this.mark_message(b);break;case "toggle_status":if(b&&!b._row)break;g="read";if(b._row.uid)f=b._row.uid,this.message_list.rows[f].deleted?g="undelete":this.message_list.rows[f].unread||(g="unread");this.mark_message(g,f);break;case "toggle_flag":if(b&&!b._row)break;g="flagged";if(b._row.uid)f=b._row.uid,this.message_list.rows[f].flagged&&(g="unflagged");this.mark_message(g,f);break;case "always-load":if(this.env.uid&&this.env.sender){this.add_contact(urlencode(this.env.sender)); +window.setTimeout(function(){j.command("load-images")},300);break}case "load-images":this.env.uid&&this.show_message(this.env.uid,!0,this.env.action=="preview");break;case "load-attachment":f="_mbox="+urlencode(this.env.mailbox)+"&_uid="+this.env.uid+"&_part="+b.part;if(this.env.uid&&b.mimetype&&$.inArray(b.mimetype,this.mimetypes)>=0&&(b.mimetype=="text/html"&&(f+="&_safe=1"),this.attachment_win=window.open(this.env.comm_path+"&_action=get&"+f+"&_frame=1","rcubemailattachment"))){window.setTimeout(function(){j.attachment_win.focus()}, +10);break}this.goto_url("get",f+"&_download=1",!1);break;case "select-all":this.select_all_mode=b?!1:!0;this.dummy_select=!0;b=="invert"?this.message_list.invert_selection():this.message_list.select_all(b=="page"?"":b);this.dummy_select=null;break;case "select-none":this.select_all_mode=!1;this.message_list.clear_selection();break;case "expand-all":this.env.autoexpand_threads=1;this.message_list.expand_all();break;case "expand-unread":this.env.autoexpand_threads=2;this.message_list.collapse_all(); +this.expand_unread();break;case "collapse-all":this.env.autoexpand_threads=0;this.message_list.collapse_all();break;case "nextmessage":this.env.next_uid&&this.show_message(this.env.next_uid,!1,this.env.action=="preview");break;case "lastmessage":this.env.last_uid&&this.show_message(this.env.last_uid);break;case "previousmessage":this.env.prev_uid&&this.show_message(this.env.prev_uid,!1,this.env.action=="preview");break;case "firstmessage":this.env.first_uid&&this.show_message(this.env.first_uid); +break;case "checkmail":this.check_for_recent(!0);break;case "compose":e=this.env.comm_path+"&_action=compose";if(this.task=="mail")if(e+="&_mbox="+urlencode(this.env.mailbox),this.env.mailbox==this.env.drafts_mailbox){if(f=this.get_single_uid())e+="&_draft_uid="+f}else b&&(e+="&_to="+urlencode(b));else if(this.task=="addressbook"){if(b&&b.indexOf("@")>0){e=this.get_task_url("mail",e);this.redirect(e+"&_to="+urlencode(b));break}f=[];if(b)f.push(b);else if(this.contact_list){g=this.contact_list.get_selection(); +for(e=0;e0&&(f=this.env.source?"_source="+urlencode(this.env.source)+"&":"",this.env.search_request&&(f+="_search="+this.env.search_request),this.goto_url("export",f));break;case "preferences":case "identities":case "folders":this.goto_url("settings/"+a);break;default:if(f=a.replace(/-/g,"_"),this[f]&&typeof this[f]=="function")this[f](b)}this.triggerEvent("after"+a,b);this.triggerEvent("actionafter", +{props:b,action:a});return d?!1:!0};this.enable_command=function(){for(var a=Array.prototype.slice.call(arguments),b=a.pop(),d,e=0;e=e.x2||a.y=e.y2){if(this.env.last_folder_target)$(this.get_folder_li(this.env.last_folder_target)).removeClass("droptarget"),this.env.folder_coords[this.env.last_folder_target].on=0,this.env.last_folder_target=null}else for(var g in this.env.folder_coords)if(e=this.env.folder_coords[g],a.x>=e.x1&&a.x=e.y1&&a.y1?"copy": +"normal")}else this.env.last_folder_target=null;else if(e.on)$(this.get_folder_li(g)).removeClass("droptarget"),this.env.folder_coords[g].on=0;d!=f&&this.contact_list&&this.contact_list.draglayer&&this.contact_list.draglayer.attr("class",d)}};this.collapse_folder=function(a){var b=this.get_folder_li(a),d=$(b.getElementsByTagName("div")[0]);if(d&&(d.hasClass("collapsed")||d.hasClass("expanded"))){var e=$(b.getElementsByTagName("ul")[0]);d.hasClass("collapsed")?(e.show(),d.removeClass("collapsed").addClass("expanded"), +this.set_env("collapsed_folders",this.env.collapsed_folders.replace(RegExp("&"+urlencode(a)+"&"),""))):(e.hide(),d.removeClass("expanded").addClass("collapsed"),this.set_env("collapsed_folders",this.env.collapsed_folders+"&"+urlencode(a)+"&"),this.env.mailbox.indexOf(a+this.env.delimiter)==0&&this.command("list",a));if(bw.ie6||bw.ie7)if((d=b.nextSibling?b.nextSibling.getElementsByTagName("ul"):null)&&d.length&&(b=d[0])&&b.style&&b.style.display!="none")b.style.display="none",b.style.display="";this.http_post("save-pref", +"_name=collapsed_folders&_value="+urlencode(this.env.collapsed_folders));this.set_unread_count_display(a,!1)}};this.doc_mouse_up=function(a){var b,d;this.message_list?(rcube_mouse_is_over(a,this.message_list.list.parentNode)?this.message_list.focus():this.message_list.blur(),d=this.message_list,b=this.env.mailboxes):this.contact_list?(rcube_mouse_is_over(a,this.contact_list.list.parentNode)?this.contact_list.focus():this.contact_list.blur(),d=this.contact_list,b=this.env.contactfolders):this.ksearch_value&& +this.ksearch_blur();if(this.drag_active&&b&&this.env.last_folder_target)b=b[this.env.last_folder_target],$(this.get_folder_li(this.env.last_folder_target)).removeClass("droptarget"),this.env.last_folder_target=null,d.draglayer.hide(),this.drag_menu(a,b)||this.command("moveto",b);if(this.buttons_sel){for(var e in this.buttons_sel)typeof e!="function"&&this.button_out(this.buttons_sel[e],e);this.buttons_sel={}}};this.click_on_list=function(){this.gui_objects.qsearchbox&&this.gui_objects.qsearchbox.blur(); +this.message_list?this.message_list.focus():this.contact_list&&this.contact_list.focus();return!0};this.msglist_select=function(a){this.preview_timer&&clearTimeout(this.preview_timer);this.preview_read_timer&&clearTimeout(this.preview_read_timer);var b=a.get_single_selection()!=null;this.enable_command(this.env.message_commands,b);b&&(this.env.mailbox==this.env.drafts_mailbox?this.enable_command("reply","reply-all","reply-list","forward",!1):this.env.messages[a.get_single_selection()].ml||this.enable_command("reply-list", +!1));this.enable_command("delete","moveto","copy","mark",a.selection.length>0?!0:!1);if(b||a.selection.length&&a.selection.length!=a.rowcount)this.select_all_mode=!1;b&&this.env.contentframe&&!a.multi_selecting&&!this.dummy_select?this.preview_timer=window.setTimeout(function(){j.msglist_get_preview()},200):this.env.contentframe&&this.show_contentframe(!1)};this.msglist_click=function(a){if(!a.multi_selecting&&this.env.contentframe&&a.get_single_selection()&&window.frames&&window.frames[this.env.contentframe]&& +window.frames[this.env.contentframe].location.href.indexOf(this.env.blankpage)>=0)this.preview_timer&&clearTimeout(this.preview_timer),this.preview_read_timer&&clearTimeout(this.preview_read_timer),this.preview_timer=window.setTimeout(function(){j.msglist_get_preview()},200)};this.msglist_dbl_click=function(a){this.preview_timer&&clearTimeout(this.preview_timer);this.preview_read_timer&&clearTimeout(this.preview_read_timer);(a=a.get_single_selection())&&this.env.mailbox==this.env.drafts_mailbox?this.goto_url("compose", +"_draft_uid="+a+"&_mbox="+urlencode(this.env.mailbox),!0):a&&this.show_message(a,!1,!1)};this.msglist_keypress=function(a){a.key_pressed==a.ENTER_KEY?this.command("show"):a.key_pressed==a.DELETE_KEY?this.command("delete"):a.key_pressed==a.BACKSPACE_KEY?this.command("delete"):a.key_pressed==33?this.command("previouspage"):a.key_pressed==34?this.command("nextpage"):a.shiftkey=!1};this.msglist_get_preview=function(){var a=this.get_single_uid();a&&this.env.contentframe&&!this.drag_active?this.show_message(a, +!1,!0):this.env.contentframe&&this.show_contentframe(!1)};this.msglist_expand=function(a){if(this.env.messages[a.uid])this.env.messages[a.uid].expanded=a.expanded};this.msglist_set_coltypes=function(a){var b,d,e=a.list.tHead.rows[0].cells;this.env.coltypes=[];for(a=0;a=0&&this.set_env("flagged_col",b);(b=$.inArray("subject",this.env.coltypes))>= +0&&this.set_env("subject_col",b);this.http_post("save-pref",{_name:"list_cols",_value:this.env.coltypes,_session:"list_attrib/columns"})};this.check_droptarget=function(a){var b=!1,d=!1;if(this.task=="mail")b=this.env.mailboxes[a]&&this.env.mailboxes[a].id!=this.env.mailbox&&!this.env.mailboxes[a].virtual;else if(this.task=="settings")b=a!=this.env.mailbox;else if(this.task=="addressbook"&&a!=this.env.source&&this.env.contactfolders[a])this.env.contactfolders[a].type=="group"?(d=this.env.contactfolders[a].source, +b=this.env.contactfolders[a].id!=this.env.group&&!this.env.contactfolders[d].readonly,d=d!=this.env.source):(b=!this.env.contactfolders[a].readonly,d=!0);return b?d?2:1:0};this.init_message_row=function(a){var b,d=this,e=a.uid,f=(this.env.status_col!=null?"status":"msg")+"icn"+a.uid;e&&this.env.messages[e]&&$.extend(a,this.env.messages[e]);if(a.icon=document.getElementById(f))a.icon._row=a.obj,a.icon.onmousedown=function(a){d.command("toggle_status",this);rcube_event.cancel(a)};a.msgicon=this.env.status_col!= +null?document.getElementById("msgicn"+a.uid):a.icon;if(this.env.flagged_col!=null&&(a.flagicon=document.getElementById("flagicn"+a.uid)))a.flagicon._row=a.obj,a.flagicon.onmousedown=function(a){d.command("toggle_flag",this);rcube_event.cancel(a)};if(!a.depth&&a.has_children&&(b=document.getElementById("rcmexpando"+a.uid)))a.expando=b,b.onmousedown=function(a){return d.expand_message_row(a,e)};this.triggerEvent("insertrow",{uid:e,row:a})};this.add_message_row=function(a,b,d,e){if(!this.gui_objects.messagelist|| +!this.message_list)return!1;this.env.messages[a]||(this.env.messages[a]={});$.extend(this.env.messages[a],{deleted:d.deleted?1:0,replied:d.replied?1:0,unread:d.unread?1:0,forwarded:d.forwarded?1:0,flagged:d.flagged?1:0,has_children:d.has_children?1:0,depth:d.depth?d.depth:0,unread_children:d.unread_children?d.unread_children:0,parent_uid:d.parent_uid?d.parent_uid:0,selected:this.select_all_mode||this.message_list.in_selection(a),ml:d.ml?1:0,ctype:d.ctype,flags:d.extra_flags});var f,g=expando="",h= +this.message_list,l=h.rows;f=this.env.messages[a];var k="message"+(this.gui_objects.messagelist.tBodies[0].rows.length%2?" even":" odd")+(d.unread?" unread":"")+(d.deleted?" deleted":"")+(d.flagged?" flagged":"")+(d.unread_children&&!d.unread&&!this.env.autoexpand_threads?" unroot":"")+(f.selected?" selected":""),j=document.createElement("tr"),m=document.createElement("td");j.id="rcmrow"+a;j.className=k;k="msgicon";this.env.status_col===null&&(k+=" status",d.deleted?k+=" deleted":d.unread?k+=" unread": +d.unread_children>0&&(k+=" unreadchildren"));d.replied&&(k+=" replied");d.forwarded&&(k+=" forwarded");f.selected&&!h.in_selection(a)&&h.selection.push(a);if(this.env.threading){m=f.depth*15;if(f.depth)l[f.parent_uid]&&l[f.parent_uid].expanded===!1||(this.env.autoexpand_threads==0||this.env.autoexpand_threads==2)&&(!l[f.parent_uid]||!l[f.parent_uid].expanded)?(j.style.display="none",f.expanded=!1):f.expanded=!0;else if(f.has_children&&typeof f.expanded=="undefined"&&(this.env.autoexpand_threads== +1||this.env.autoexpand_threads==2&&f.unread_children))f.expanded=!0;m&&(g+='  ');f.has_children&&!f.depth&&(expando='
  
')}g+=' ';if(!bw.ie&&b.subject)m=d.mbox==this.env.drafts_mailbox?"_draft_uid":"_uid",b.subject=''+b.subject+"";for(var o in this.env.coltypes)f=this.env.coltypes[o],m=document.createElement("td"),m.className=String(f).toLowerCase(),f=="flag"?(k=d.flagged?"flagged":"unflagged",f=' '):f=="attachment"?f=/application\/|multipart\/m/.test(d.ctype)?' ': +/multipart\/report/.test(d.ctype)?' ':" ":f=="status"?(k=d.deleted?"deleted":d.unread?"unread":d.unread_children>0?"unreadchildren":"msgicon",f=' '):f=f=="threads"?expando:f=="subject"?g+b[f]:b[f],m.innerHTML=f,j.appendChild(m);h.insert_row(j,e);e&&this.env.pagesize&&h.rowcount>this.env.pagesize&&(a=h.get_last_row(),h.remove_row(a),h.clear_selection(a))};this.set_list_sorting=function(a,b){$("#rcm"+this.env.sort_col).removeClass("sorted"+ +this.env.sort_order.toUpperCase());a&&$("#rcm"+a).addClass("sorted"+b);this.env.sort_col=a;this.env.sort_order=b};this.set_list_options=function(a,b,d,e){var f,g="";if(typeof b=="undefined")b=this.env.sort_col;if(!d)d=this.env.sort_order;if(this.env.sort_col!=b||this.env.sort_order!=d)f=1,this.set_list_sorting(b,d);this.env.threading!=e&&(f=1,g+="&_threads="+e);if(a&&a.length){for(var h,l,k=[],j=this.env.coltypes,e=0;e=0)this.show_contentframe(!0);else{if(!this.env.frame_lock)(this.is_framed()?parent.rcmail:this).env.frame_lock=this.set_busy(!0,"loading");e.location.href=this.env.comm_path+g;if(f=="preview"&&this.message_list&&this.message_list.rows[a]&&this.message_list.rows[a].unread&&this.env.preview_pane_mark_read>=0)this.preview_read_timer=window.setTimeout(function(){j.set_message(a,"unread",!1);j.update_thread_root(a,"read");j.env.unread_counts[j.env.mailbox]&&(j.env.unread_counts[j.env.mailbox]-= +1,j.set_unread_count(j.env.mailbox,j.env.unread_counts[j.env.mailbox],j.env.mailbox=="INBOX"));j.env.preview_pane_mark_read>0&&j.http_post("mark","_uid="+a+"&_flag=read&_quiet=1")},this.env.preview_pane_mark_read*1E3)}}};this.show_contentframe=function(a){var b,d;if(this.env.contentframe&&(b=$("#"+this.env.contentframe))&&b.length)if(!a&&(d=window.frames[this.env.contentframe])){if(d.location&&d.location.href.indexOf(this.env.blankpage)<0)d.location.href=this.env.blankpage}else if(!bw.safari&&!bw.konq)b[a? +"show":"hide"]();!a&&this.busy&&this.set_busy(!1,null,this.env.frame_lock)};this.list_page=function(a){a=="next"?a=this.env.current_page+1:a=="last"?a=this.env.pagecount:a=="prev"&&this.env.current_page>1?a=this.env.current_page-1:a=="first"&&this.env.current_page>1&&(a=1);if(a>0&&a<=this.env.pagecount)this.env.current_page=a,this.task=="mail"?this.list_mailbox(this.env.mailbox,a):this.task=="addressbook"&&this.list_contacts(this.env.source,this.env.group,a)};this.filter_mailbox=function(a){var b, +d=this.set_busy(!0,"searching");if(this.gui_objects.qsearchbox)b=this.gui_objects.qsearchbox.value;this.clear_message_list();this.env.current_page=1;this.http_request("search","_filter="+a+(b?"&_q="+urlencode(b):"")+(this.env.mailbox?"&_mbox="+urlencode(this.env.mailbox):""),d)};this.list_mailbox=function(a,b,d,e){var f="",g=window;a||(a=this.env.mailbox?this.env.mailbox:"INBOX");e&&(f+=e);d&&(f+="&_sort="+d);this.env.search_request&&(f+="&_search="+this.env.search_request);if(this.env.mailbox!=a)b= +1,this.env.current_page=b,this.select_all_mode=!1;this.clear_message_list();if(a!=this.env.mailbox||a==this.env.mailbox&&!b&&!d)f+="&_refresh=1";this.select_folder(a,this.env.mailbox);this.env.mailbox=a;if(this.gui_objects.messagelist)this.list_mailbox_remote(a,b,f);else if(this.env.contentframe&&window.frames&&window.frames[this.env.contentframe]&&(g=window.frames[this.env.contentframe],f+="&_framed=1"),a)this.set_busy(!0,"loading"),g.location.href=this.env.comm_path+"&_mbox="+urlencode(a)+(b?"&_page="+ +b:"")+f};this.clear_message_list=function(){this.env.messages={};this.last_selected=0;this.show_contentframe(!1);this.message_list&&this.message_list.clear(!0)};this.list_mailbox_remote=function(a,b,d){this.message_list.clear();a="_mbox="+urlencode(a)+(b?"&_page="+b:"");b=this.set_busy(!0,"loading");this.http_request("list",a+d,b)};this.update_selection=function(){var a=this.message_list.selection,b=this.message_list.rows,d,e=[];for(d in a)b[a[d]]&&e.push(a[d]);this.message_list.selection=e};this.expand_unread= +function(){for(var a,b=this.gui_objects.messagelist.tBodies[0].firstChild;b;){if(b.nodeType==1&&(a=this.message_list.rows[b.uid])&&a.unread_children)this.message_list.expand_all(a),this.set_unread_children(a.uid);b=b.nextSibling}return!1};this.expand_message_row=function(a,b){var d=this.message_list.rows[b];d.expanded=!d.expanded;this.set_unread_children(b);d.expanded=!d.expanded;this.message_list.expand_row(a,b)};this.expand_threads=function(){if(this.env.threading&&this.env.autoexpand_threads&& +this.message_list)switch(this.env.autoexpand_threads){case 2:this.expand_unread();break;case 1:this.message_list.expand_all()}};this.init_threads=function(a){for(var b=0,d=a.length;b=0;b--)if(e=g[b].length,e>d.depth?(f=e-d.depth, +g[b][f]&2||(g[b][f]=g[b][f]?g[b][f]+2:2)):e==d.depth&&(g[b][0]&2||(g[b][0]+=2)),d.depth>e)break;g.push(Array(d.depth));g[g.length-1][0]=1;h.push(d.uid)}else{if(g.length){for(b in g)this.set_tree_icons(h[b],g[b]);g=[];h=[]}if(a&&l!=k[a].obj)break}l=l.nextSibling}if(g.length)for(b in g)this.set_tree_icons(h[b],g[b])};this.set_tree_icons=function(a,b){var d,e=[],f="",g=b.length;for(d=0;d2?e.push({"class":"l3",width:15}):b[d]>1?e.push({"class":"l2",width:15}):b[d]>0?e.push({"class":"l1",width:15}): +e.length&&!e[e.length-1]["class"]?e[e.length-1].width+=15:e.push({"class":null,width:15});for(d=e.length-1;d>=0;d--)f+=e[d]["class"]?'
':'
';f&&$("#rcmtab"+a).html(f)};this.update_thread_root=function(a,b){if(this.env.threading){var d=this.message_list.find_root(a);if(a!=d){var e=this.message_list.rows[d];if(b=="read"&&e.unread_children)e.unread_children--;else if(b=="unread"&&e.has_children)e.unread_children=e.unread_children? +e.unread_children+1:1;else return;this.set_message_icon(d);this.set_unread_children(d)}}};this.update_thread=function(a){if(!this.env.threading)return 0;var b,d=0,e=this.message_list.rows,f=e[a],g=e[a].depth,h=[];f.depth?f.unread&&(a=this.message_list.find_root(a),e[a].unread_children--,this.set_unread_children(a)):d--;a=f.parent_uid;for(f=f.obj.nextSibling;f;){if(f.nodeType==1&&(b=e[f.uid])){if(!b.depth||b.depth<=g)break;b.depth--;$("#rcmtab"+b.uid).width(b.depth*15).html("");if(b.depth){if(b.depth== +g)b.parent_uid=a;b.unread&&h.length&&h[h.length-1].unread_children++}else{d++;b.parent_uid=0;if(b.has_children)$("#rcmrow"+b.uid+" .leaf:first").attr("id","rcmexpando"+b.uid).attr("class",b.obj.style.display!="none"?"expanded":"collapsed").bind("mousedown",{uid:b.uid,p:this},function(a){return a.data.p.expand_message_row(a,a.data.uid)}),b.unread_children=0,h.push(b);b.obj.style.display=="none"&&$(b.obj).show()}}f=f.nextSibling}for(b=0;b0&&this.delete_excessive_thread_rows();d+="&_uid="+this.uids_to_list(e);b||(b=this.display_message(this.get_label(a=="moveto"?"movingmessage":"deletingmessage"),"loading"));this.http_post(a,"_mbox="+urlencode(this.env.mailbox)+d,b)};this.mark_message=function(a,b){var d=[],e=[],f,g,h;h=this.message_list?this.message_list.get_selection():[];if(b)d[0]=b;else if(this.env.uid)d[0]= +this.env.uid;else if(this.message_list){g=0;for(f=h.length;g0&&this.delete_excessive_thread_rows());b="&_from="+(this.env.action? +this.env.action:"");lock=this.display_message(this.get_label("markingmessage"),"loading");d.length&&(b+="&_ruid="+this.uids_to_list(d));this.env.skip_deleted&&this.env.display_next&&this.env.next_uid&&(b+="&_next_uid="+this.env.next_uid);this.env.search_request&&(b+="&_search="+this.env.search_request);this.http_post("mark","_uid="+this.uids_to_list(a)+"&_flag=delete"+b,lock);return!0};this.flag_deleted_as_read=function(a){for(var b=this.message_list?this.message_list.rows:[],d=String(a).split(","), +e=0;e"+k)):(k=this.env.signatures[f].text,k.match(/^--[ -]\r?\n/)||(k=d+"\n"+k),k="
"+k+"
"),g.innerHTML=k}else b&&k&&this.env.signatures&&this.env.signatures[k]&&(k=this.env.signatures[k].is_html?this.env.signatures[k].plain_text:this.env.signatures[k].text,k= +k.replace(/\r\n/g,"\n"),k.match(/^--[ -]\n/)||(k=d+"\n"+k),e=this.env.sig_above?h.indexOf(k):h.lastIndexOf(k),e>=0&&(h=h.substring(0,e)+h.substring(e+k.length,h.length))),b&&this.env.signatures&&this.env.signatures[f]?(k=this.env.signatures[f].is_html?this.env.signatures[f].plain_text:this.env.signatures[f].text,k=k.replace(/\r\n/g,"\n"),k.match(/^--[ -]\n/)||(k=d+"\n"+k),this.env.sig_above?e>=0?(h=h.substring(0,e)+k+h.substring(e,h.length),d=e-1):(pos=this.get_caret_pos(g.get(0)))?(h=h.substring(0, +pos)+"\n"+k+"\n\n"+h.substring(pos,h.length),d=pos):(d=0,h="\n\n"+k+"\n\n"+h.replace(/^[\r\n]+/,"")):(h=h.replace(/[\r\n]+$/,""),d=!this.env.top_posting&&h.length?h.length+1:0,h+="\n\n"+k)):d=this.env.top_posting?0:h.length,g.val(h),this.set_caret_pos(g.get(0),d);this.env.identity=f;return!0};this.upload_file=function(a){if(!a)return!1;for(var b=!1,d=0;d');else{var e=document.createElement("iframe");e.name=d;e.style.border="none";e.style.width=0;e.style.height=0;e.style.visibility="hidden";document.body.appendChild(e)}$(d).bind("load",{ts:b},function(a){var b,d="";try{if(this.contentDocument)b=this.contentDocument;else if(this.contentWindow)b=this.contentWindow.document;d=b.childNodes[0].innerHTML}catch(e){}if(!d.match(/add2attachment/)&&(!bw.opera|| +rcmail.env.uploadframe&&rcmail.env.uploadframe==a.data.ts))d.match(/display_message/)||rcmail.display_message(rcmail.get_label("fileuploaderror"),"error"),rcmail.remove_from_attachment_list(a.data.ts);if(bw.opera)rcmail.env.uploadframe=a.data.ts});a.target=d;a.action=this.env.comm_path+"&_action=upload&_uploadid="+b;a.setAttribute("enctype","multipart/form-data");a.submit();e=this.get_label("uploading");this.env.loadingicon&&(e=''+e);this.env.cancelicon&& +(e=''+e);this.add2attachment_list(b,{name:"",html:e,complete:!1})}this.gui_objects.attachmentform=a;return!0};this.add2attachment_list=function(a,b,d){if(!this.gui_objects.attachmentlist)return!1;var e=$("
  • ").attr("id",a).html(b.html),f;d&&(f=document.getElementById(d))?e.replaceAll(f):e.appendTo(this.gui_objects.attachmentlist); +d&&this.env.attachments[d]&&delete this.env.attachments[d];this.env.attachments[a]=b;return!0};this.remove_from_attachment_list=function(a){this.env.attachments[a]&&delete this.env.attachments[a];if(!this.gui_objects.attachmentlist)return!1;var b=this.gui_objects.attachmentlist.getElementsByTagName("li");for(i=0;i"),this.ksearch_pane=$("
    ").attr("id","rcmKSearchpane").css({position:"absolute","z-index":3E4}).append(b).appendTo(document.body),this.ksearch_pane.__ul=b[0];b=this.ksearch_pane.__ul;b.innerHTML="";for(i= +0;i/g,">").replace(/##([^%]+)%%/g,"$1"),d.onmouseover=function(){j.ksearch_select(this)},d.onmouseup=function(){j.ksearch_click(this)},d._rcm_id=i,b.appendChild(d);$(b.firstChild).attr("id","rcmksearchSelected").addClass("selected");this.ksearch_selected=0;a=$(this.ksearch_input).offset();this.ksearch_pane.css({left:a.left+ +"px",top:a.top+this.ksearch_input.offsetHeight+"px"}).show()}else this.ksearch_hide()};this.ksearch_click=function(a){this.ksearch_input&&this.ksearch_input.focus();this.insert_recipient(a._rcm_id);this.ksearch_hide()};this.ksearch_blur=function(){this.ksearch_timer&&clearTimeout(this.ksearch_timer);this.ksearch_value="";this.ksearch_input=null;this.ksearch_hide()};this.ksearch_hide=function(){this.ksearch_selected=null;this.ksearch_pane&&this.ksearch_pane.hide()};this.contactlist_keypress=function(a){a.key_pressed== +a.DELETE_KEY&&this.command("delete")};this.contactlist_select=function(a){this.preview_timer&&clearTimeout(this.preview_timer);var b,d=this;(b=a.get_single_selection())?this.preview_timer=window.setTimeout(function(){d.load_contact(b,"show")},200):this.env.contentframe&&this.show_contentframe(!1);this.enable_command("compose",a.selection.length>0);this.enable_command("edit",b&&this.env.address_sources&&!this.env.address_sources[this.env.source].readonly?!0:!1);this.enable_command("delete",a.selection.length&& +this.env.address_sources&&!this.env.address_sources[this.env.source].readonly);return!1};this.list_contacts=function(a,b,d){var e="",f=window;if(!a)a=this.env.source;if(d&&this.current_page==d&&a==this.env.source&&b==this.env.group)return!1;if(a!=this.env.source)d=this.env.current_page=1,this.reset_qsearch();else if(b!=this.env.group)d=this.env.current_page=1;this.select_folder(b?"G"+a+b:a,this.env.group?"G"+this.env.source+this.env.group:this.env.source);this.env.source=a;this.env.group=b;this.gui_objects.contactslist? +this.list_contacts_remote(a,b,d):(this.env.contentframe&&window.frames&&window.frames[this.env.contentframe]&&(f=window.frames[this.env.contentframe],e="&_framed=1"),b&&(e+="&_gid="+b),d&&(e+="&_page="+d),this.env.search_request&&(e+="&_search="+this.env.search_request),this.set_busy(!0,"loading"),f.location.href=this.env.comm_path+(a?"&_source="+urlencode(a):"")+e)};this.list_contacts_remote=function(a,b,d){this.contact_list.clear(!0);this.show_contentframe(!1);this.enable_command("delete","compose", +!1);var d=(a?"_source="+urlencode(a):"")+(d?(a?"&":"")+"_page="+d:""),e=this.set_busy(!0,"loading");this.env.source=a;(this.env.group=b)&&(d+="&_gid="+b);this.env.search_request&&(d+="&_search="+this.env.search_request);this.http_request("list",d,e)};this.load_contact=function(a,b,d){var e="",f=window;if(this.env.contentframe&&window.frames&&window.frames[this.env.contentframe])e="&_framed=1",f=window.frames[this.env.contentframe],this.show_contentframe(!0);else if(d)return!1;if(b&&(a||b=="add")&& +!this.drag_active)this.env.group&&(e+="&_gid="+urlencode(this.env.group)),this.set_busy(!0),f.location.href=this.env.comm_path+"&_action="+b+"&_source="+urlencode(this.env.source)+"&_cid="+urlencode(a)+e;return!0};this.copy_contact=function(a,b){a||(a=this.contact_list.get_selection().join(","));b.type=="group"&&b.source==this.env.source?this.http_post("group-addmembers","_cid="+urlencode(a)+"&_source="+urlencode(this.env.source)+"&_gid="+urlencode(b.id)):b.type=="group"&&!this.env.address_sources[b.source].readonly? +this.http_post("copy","_cid="+urlencode(a)+"&_source="+urlencode(this.env.source)+"&_to="+urlencode(b.source)+"&_togid="+urlencode(b.id)+(this.env.group?"&_gid="+urlencode(this.env.group):"")):b.id!=this.env.source&&a&&this.env.address_sources[b.id]&&!this.env.address_sources[b.id].readonly&&this.http_post("copy","_cid="+urlencode(a)+"&_source="+urlencode(this.env.source)+"&_to="+urlencode(b.id)+(this.env.group?"&_gid="+urlencode(this.env.group):""))};this.delete_contacts=function(){var a=this.contact_list.get_selection(); +if((a.length||this.env.cid)&&confirm(this.get_label("deletecontactconfirm"))){var b,d=[],e="";if(this.env.cid)d.push(this.env.cid);else{for(var f=0;f0)};this.group_create=function(){if(this.gui_objects.folderlist&&this.env.address_sources[this.env.source].groups){if(!this.name_input)this.name_input= +$("").attr("type","text"),this.name_input.bind("keydown",function(a){return rcmail.add_input_keydown(a)}),this.name_input_li=$("
  • ").addClass("contactgroup").append(this.name_input),this.name_input_li.insertAfter(this.get_folder_li(this.env.source));this.name_input.select().focus()}};this.group_rename=function(){if(this.env.group&&this.gui_objects.folderlist){if(!this.name_input){this.enable_command("list","listgroup",!1);this.name_input=$("").attr("type","text").val(this.env.contactgroups["G"+ +this.env.source+this.env.group].name);this.name_input.bind("keydown",function(a){return rcmail.add_input_keydown(a)});this.env.group_renaming=!0;var a,b=this.get_folder_li(this.env.source+this.env.group,"rcmliG");b&&(a=b.firstChild)&&$(a).hide().before(this.name_input)}this.name_input.select().focus()}};this.group_delete=function(){this.env.group&&this.http_post("group-delete","_source="+urlencode(this.env.source)+"&_gid="+urlencode(this.env.group),!0)};this.remove_group_item=function(a){var b,d= +"G"+a.source+a.id;if(b=this.get_folder_li(d))this.triggerEvent("group_delete",{source:a.source,id:a.id,li:b}),b.parentNode.removeChild(b),delete this.env.contactfolders[d],delete this.env.contactgroups[d];this.list_contacts(a.source,0)};this.add_input_keydown=function(a){a=rcube_event.get_keycode(a);if(a==13){if(a=this.name_input.val()){var b=this.set_busy(!0,"loading");this.env.group_renaming?this.http_post("group-rename","_source="+urlencode(this.env.source)+"&_gid="+urlencode(this.env.group)+"&_name="+ +urlencode(a),b):this.http_post("group-create","_source="+urlencode(this.env.source)+"&_name="+urlencode(a),b)}return!1}else a==27&&this.reset_add_input();return!0};this.reset_add_input=function(){if(this.name_input){if(this.env.group_renaming)this.name_input.parent().children().last().show(),this.env.group_renaming=!1;this.name_input.remove();this.name_input_li&&this.name_input_li.remove();this.name_input=this.name_input_li=null}this.enable_command("list","listgroup",!0)};this.insert_contact_group= +function(a){this.reset_add_input();a.type="group";var b="G"+a.source+a.id;this.env.contactfolders[b]=this.env.contactgroups[b]=a;var d=$("").attr("href","#").bind("click",function(){return rcmail.command("listgroup",a,this)}).html(a.name),b=$("
  • ").attr("id","rcmli"+b).addClass("contactgroup").append(d).insertAfter(this.get_folder_li(a.source));this.triggerEvent("group_insert",{id:a.id,source:a.source,name:a.name,li:b[0]})};this.update_contact_group=function(a){this.reset_add_input();var b="G"+ +a.source+a.id,d,e=this.get_folder_li(b);if(e&&(d=e.firstChild)&&d.tagName.toLowerCase()=="a")d.innerHTML=a.name;this.env.contactfolders[b].name=this.env.contactgroups[b].name=a.name;this.triggerEvent("group_update",{id:a.id,source:a.source,name:a.name,li:e[0]})};this.init_subscription_list=function(){var a=this;this.subscription_list=new rcube_list_widget(this.gui_objects.subscriptionlist,{multiselect:!1,draggable:!0,keyboard:!1,toggleselect:!0});this.subscription_list.addEventListener("select",function(b){a.subscription_select(b)}); +this.subscription_list.addEventListener("dragstart",function(){a.drag_active=!0});this.subscription_list.addEventListener("dragend",function(b){a.subscription_move_folder(b)});this.subscription_list.row_init=function(b){b.obj.onmouseover=function(){a.focus_subscription(b.id)};b.obj.onmouseout=function(){a.unfocus_subscription(b.id)}};this.subscription_list.init()};this.section_select=function(a){if(a=a.get_single_selection()){var b="",d=window;this.set_busy(!0);this.env.contentframe&&window.frames&& +window.frames[this.env.contentframe]&&(b="&_framed=1",d=window.frames[this.env.contentframe]);d.location.href=this.env.comm_path+"&_action=edit-prefs&_section="+a+b}return!0};this.identity_select=function(a){var b;(b=a.get_single_selection())&&this.load_identity(b,"edit-identity")};this.load_identity=function(a,b){if(b=="edit-identity"&&(!a||a==this.env.iid))return!1;var d="",e=window;if(this.env.contentframe&&window.frames&&window.frames[this.env.contentframe])d="&_framed=1",e=window.frames[this.env.contentframe], +document.getElementById(this.env.contentframe).style.visibility="inherit";if(b&&(a||b=="add-identity"))this.set_busy(!0),e.location.href=this.env.comm_path+"&_action="+b+"&_iid="+a+d;return!0};this.delete_identity=function(a){var b=this.identity_list.get_selection();if(b.length||this.env.iid)return a||(a=this.env.iid?this.env.iid:b[0]),this.goto_url("delete-identity","_iid="+a+"&_token="+this.env.request_token,!0),!0};this.focus_subscription=function(a){var b,d,e=RegExp.escape(this.env.delimiter), +f=RegExp("["+e+"]?[^"+e+"]+$");if(this.drag_active&&this.env.mailbox&&(b=document.getElementById(a)))this.env.subscriptionrows[a]&&(d=this.env.subscriptionrows[a][0])?this.check_droptarget(d)&&!this.env.subscriptionrows[this.get_folder_row_id(this.env.mailbox)][2]&&d!=this.env.mailbox.replace(f,"")&&!d.match(RegExp("^"+RegExp.escape(this.env.mailbox+this.env.delimiter)))&&(this.set_env("dstfolder",d),$(b).addClass("droptarget")):this.env.mailbox.match(RegExp(e))&&(this.set_env("dstfolder",this.env.delimiter), +$(this.subscription_list.frame).addClass("droptarget"))};this.unfocus_subscription=function(a){var b=$("#"+a);this.set_env("dstfolder",null);this.env.subscriptionrows[a]&&b[0]?b.removeClass("droptarget"):$(this.subscription_list.frame).removeClass("droptarget")};this.subscription_select=function(a){var b,d;a&&(b=a.get_single_selection())&&(d=this.env.subscriptionrows["rcmrow"+b])?(this.set_env("mailbox",d[0]),this.show_folder(d[0]),this.enable_command("delete-folder",!d[2])):(this.env.mailbox=null, +this.show_contentframe(!1),this.enable_command("delete-folder","purge",!1))};this.subscription_move_folder=function(){var a=RegExp.escape(this.env.delimiter),b;this.env.mailbox&&this.env.dstfolder&&this.env.dstfolder!=this.env.mailbox&&this.env.dstfolder!=this.env.mailbox.replace(RegExp("["+a+"]?[^"+a+"]+$"),"")&&(b=RegExp("[^"+a+"]*["+a+"]","g"),a=this.set_busy(!0,"foldermoving"),b=this.env.mailbox.replace(b,""),b=this.env.dstfolder==this.env.delimiter?b:this.env.dstfolder+this.env.delimiter+b,this.http_post("rename-folder", +"_folder_oldname="+urlencode(this.env.mailbox)+"&_folder_newname="+urlencode(b),a));this.drag_active=!1;this.unfocus_subscription(this.get_folder_row_id(this.env.dstfolder))};this.create_folder=function(){this.show_folder("",this.env.mailbox)};this.delete_folder=function(a){if((a=this.env.subscriptionrows[this.get_folder_row_id(a?a:this.env.mailbox)][0])&&confirm(this.get_label("deletefolderconfirm"))){var b=this.set_busy(!0,"folderdeleting");this.http_post("delete-folder","_mbox="+urlencode(a),b)}}; +this.add_folder_row=function(a,b,d,e){if(!this.gui_objects.subscriptionlist)return!1;var f,g;for(g in this.env.subscriptionrows)if(this.env.subscriptionrows[g]!=null&&!this.env.subscriptionrows[g][2]){f=g;break}var h;g=this.gui_objects.subscriptionlist.tBodies[0];var j="rcmrow"+(g.childNodes.length+1),k=this.subscription_list.get_single_selection();if(d&&d.id)f=j=d.id;if(!j||!f||!(h=document.getElementById(f)))return this.goto_url("folders"),!1;f=this.clone_table_row(h);f.id=j;e&&(e=this.get_folder_row_id(e))? +g.insertBefore(f,document.getElementById(e)):g.appendChild(f);d&&g.removeChild(d);this.env.subscriptionrows[f.id]=[a,b,0];f.cells[0].innerHTML=b;if(!d)f.cells[1].innerHTML="*",$('input[name="_subscribed[]"]',f).val(a).attr("checked",!0);this.init_subscription_list();k&&document.getElementById("rcmrow"+k)&&this.subscription_list.select_row(k);document.getElementById(j).scrollIntoView&&document.getElementById(j).scrollIntoView()};this.replace_folder_row=function(a,b,d,e){a=this.get_folder_row_id(a); +a=document.getElementById(a);this.add_folder_row(b,d,a,e)};this.remove_folder_row=function(a){var b;if((a=this.get_folder_row_id(a))&&(b=document.getElementById(a)))b.style.display="none"};this.subscribe=function(a){if(a){var b=this.display_message(this.get_label("foldersubscribing"),"loading");this.http_post("subscribe","_mbox="+urlencode(a),b)}};this.unsubscribe=function(a){if(a){var b=this.display_message(this.get_label("folderunsubscribing"),"loading");this.http_post("unsubscribe","_mbox="+urlencode(a), +b)}};this.get_folder_row_id=function(a){for(var b in this.env.subscriptionrows)if(this.env.subscriptionrows[b]&&this.env.subscriptionrows[b][0]==a)break;return b};this.clone_table_row=function(a){for(var b,d,e=document.createElement("tr"),f=0;f=0&&!d)this.show_contentframe(!0);else{if(!this.env.frame_lock)(parent.rcmail?parent.rcmail:this).env.frame_lock=this.set_busy(!0,"loading");e.location.href=this.env.comm_path+a}};this.disable_subscription=function(a){(a=this.get_folder_row_id(a))&&$('input[name="_subscribed[]"]',$("#"+ +a)).attr("disabled",!0)};this.folder_size=function(a){var b=this.set_busy(!0,"loading");this.http_post("folder-size","_mbox="+urlencode(a),b)};this.folder_size_update=function(a){$("#folder-size").replaceWith(a)};this.set_page_buttons=function(){this.enable_command("nextpage","lastpage",this.env.pagecount>this.env.current_page);this.enable_command("previouspage","firstpage",this.env.current_page>1)};this.init_buttons=function(){for(var a in this.buttons)if(typeof a=="string")for(var b=0;b").addClass(b).html(a).data("key",e);$(this.gui_objects.message).append(h).show();this.messages[e]={obj:h,elements:[f]};b=="loading"?this.messages[e].labels=[{id:f,msg:a}]:h.click(function(){return d.hide_message(h)}); +window.setTimeout(function(){d.hide_message(f,b=="loading")},g);return f};this.hide_message=function(a,b){if(this.is_framed())return parent.rcmail.hide_message(a,b);var d,e,f,g,h=this.messages;if(typeof a=="object")$(a)[b?"fadeOut":"hide"](),g=$(a).data("key"),this.messages[g]&&delete this.messages[g];else for(d in h)for(e in h[d].elements)if(h[d]&&h[d].elements[e]==a)if(h[d].elements.splice(e,1),h[d].elements.length){if(d=="loading")for(f in h[d].labels)h[d].labels[f].id==a?delete h[d].labels[f]: +g=h[d].labels[f].msg,h[d].obj.html(g)}else h[d].obj[b?"fadeOut":"hide"](),delete h[d]};this.select_folder=function(a,b,d){if(this.gui_objects.folderlist){var e,f;(e=this.get_folder_li(b,d))&&$(e).removeClass("selected").addClass("unfocused");(f=this.get_folder_li(a,d))&&$(f).removeClass("unfocused").addClass("selected");this.triggerEvent("selectfolder",{folder:a,old:b,prefix:d})}};this.get_folder_li=function(a,b){b||(b="rcmli");if(this.gui_objects.folderlist)return a=String(a).replace(this.identifier_expr, +"_"),document.getElementById(b+a);return null};this.set_message_coltypes=function(a,b){var d=this.message_list,e=d?d.list.tHead:null,f,g,h,j;this.env.coltypes=a;if(e){if(b){g=document.createElement("thead");h=document.createElement("tr");c=0;for(j=b.length;c=0)if(this.set_env("subject_col",h),d)d.subject_col=h;(h=$.inArray("flag",this.env.coltypes))>=0&&this.set_env("flagged_col", +h);(h=$.inArray("status",this.env.coltypes))>=0&&this.set_env("status_col",h);d&&d.init_header()};this.set_rowcount=function(a){$(this.gui_objects.countdisplay).html(a);this.set_page_buttons()};this.set_mailboxname=function(a){if(this.gui_objects.mailboxname&&a)this.gui_objects.mailboxname.innerHTML=a};this.set_quota=function(a){a&&this.gui_objects.quotadisplay&&(typeof a=="object"&&a.type=="image"?this.percent_indicator(this.gui_objects.quotadisplay,a):$(this.gui_objects.quotadisplay).html(a))}; +this.set_unread_count=function(a,b,d){if(!this.gui_objects.mailboxlist)return!1;this.env.unread_counts[a]=b;this.set_unread_count_display(a,d)};this.set_unread_count_display=function(a,b){var d,e,f,g,h,j;if(f=this.get_folder_li(a)){g=this.env.unread_counts[a]?this.env.unread_counts[a]:0;e=f.getElementsByTagName("a")[0];d=/\s+\([0-9]+\)$/i;h=0;if((j=f.getElementsByTagName("div")[0])&&j.className.match(/collapsed/))for(var k in this.env.unread_counts)k.indexOf(a+this.env.delimiter)==0&&(h+=this.env.unread_counts[k]); +g&&e.innerHTML.match(d)?e.innerHTML=e.innerHTML.replace(d," ("+g+")"):g?e.innerHTML+=" ("+g+")":e.innerHTML=e.innerHTML.replace(d,"");d=RegExp(RegExp.escape(this.env.delimiter)+"[^"+RegExp.escape(this.env.delimiter)+"]+$");a.match(d)&&this.set_unread_count_display(a.replace(d,""),!1);g+h>0?$(f).addClass("unread"):$(f).removeClass("unread")}d=/^\([0-9]+\)\s+/i;b&&document.title&&(e="",e=String(document.title),e=g&&e.match(d)?e.replace(d,"("+g+") "):g?"("+g+") "+e:e.replace(d,""),this.set_pagetitle(e))}; +this.new_message_focus=function(){this.env.framed&&window.parent?window.parent.focus():window.focus()};this.toggle_prefer_html=function(a){var b;if(b=document.getElementById("rcmfd_addrbook_show_images"))b.disabled=!a.checked};this.toggle_preview_pane=function(a){var b;if(b=document.getElementById("rcmfd_preview_pane_mark_read"))b.disabled=!a.checked};this.set_headers=function(a){this.gui_objects.all_headers_row&&this.gui_objects.all_headers_box&&a&&$(this.gui_objects.all_headers_box).html(a).show()}; +this.load_headers=function(a){if(this.gui_objects.all_headers_row&&this.gui_objects.all_headers_box&&this.env.uid)$(a).removeClass("show-headers").addClass("hide-headers"),$(this.gui_objects.all_headers_row).show(),a.onclick=function(){rcmail.hide_headers(a)},this.gui_objects.all_headers_box.innerHTML||this.http_post("headers","_uid="+this.env.uid,this.display_message(this.get_label("loading"),"loading"))};this.hide_headers=function(a){if(this.gui_objects.all_headers_row&&this.gui_objects.all_headers_box)$(a).removeClass("hide-headers").addClass("show-headers"), +$(this.gui_objects.all_headers_row).hide(),a.onclick=function(){rcmail.load_headers(a)}};this.percent_indicator=function(a,b){if(!b||!a)return!1;var d=b.width?b.width:this.env.indicator_width?this.env.indicator_width:100,e=b.height?b.height:this.env.indicator_height?this.env.indicator_height:14,f=b.percent?Math.abs(parseInt(b.percent)):0,g=parseInt(f/100*d),h=$(a).position();h.top=Math.max(0,h.top);this.env.indicator_width=d;this.env.indicator_height=e;g>d&&(g=d,f=100);if(b.title)b.title=this.get_label("quota")+ +": "+b.title;var j=$("
    ");j.css({position:"absolute",top:h.top,left:h.left,width:d+"px",height:e+"px",zIndex:100,lineHeight:e+"px"}).attr("title",b.title).addClass("quota_text").html(f+"%");var k=$("
    ");k.css({position:"absolute",top:h.top+1,left:h.left+1,width:g+"px",height:e+"px",zIndex:99});g=$("
    ");g.css({position:"absolute",top:h.top+1,left:h.left+1,width:d+"px",height:e+"px",zIndex:98}).addClass("quota_bg");f>=80?(j.addClass(" quota_text_high"),k.addClass("quota_high")):f>=55?(j.addClass(" quota_text_mid"), +k.addClass("quota_mid")):(j.addClass(" quota_text_normal"),k.addClass("quota_low"));$(a).html("").append(k).append(g).append(j);$("#quotaimg").attr("title",b.title)};this.html2plain=function(a,b){var d=this,e=this.set_busy(!0,"converting");console.log("HTTP POST: ?_task=utils&_action=html2text");$.ajax({type:"POST",url:"?_task=utils&_action=html2text",data:a,contentType:"application/octet-stream",error:function(a,b,h){d.http_error(a,b,h,e)},success:function(a){d.set_busy(!1,null,e);$(document.getElementById(b)).val(a); +console.log(a)}})};this.plain2html=function(a,b){var d=this.set_busy(!0,"converting");$(document.getElementById(b)).val("
    "+a+"
    ");this.set_busy(!1,null,d)};this.redirect=function(a,b){(b||b===null)&&this.set_busy(!0);this.env.framed&&window.parent?parent.location.href=a:location.href=a};this.goto_url=function(a,b,d){var e=this.env.comm_path,b=b?"&"+b:"";if(a.match(/([a-z]+)\/([a-z-_]+)/))a=RegExp.$2,e=e.replace(/\_task=[a-z]+/,"_task="+RegExp.$1);this.redirect(e+"&_action="+a+b,d)};this.http_request= +function(a,b,d){var e=this.env.comm_path;if(a.match(/([a-z]+)\/([a-z-_]+)/))a=RegExp.$2,e=e.replace(/\_task=[a-z]+/,"_task="+RegExp.$1);var f=this.triggerEvent("request"+a,b);if(typeof f!="undefined")if(f===!1)return!1;else b=f;e+="&_remote=1&_action="+a+(b?"&":"")+b;console.log("HTTP GET: "+e);$.ajax({type:"GET",url:e,data:{_unlock:d?d:0},dataType:"json",success:function(a){j.http_response(a)},error:function(a,b,e){rcmail.http_error(a,b,e,d)}})};this.http_post=function(a,b,d){var e=this.env.comm_path; +if(a.match(/([a-z]+)\/([a-z-_]+)/))a=RegExp.$2,e=e.replace(/\_task=[a-z]+/,"_task="+RegExp.$1);e+="&_action="+a;b&&typeof b=="object"?(b._remote=1,b._unlock=d?d:0):b+=(b?"&":"")+"_remote=1"+(d?"&_unlock="+d:"");a=this.triggerEvent("request"+a,b);if(typeof a!="undefined")if(a===!1)return!1;else b=a;console.log("HTTP POST: "+e);$.ajax({type:"POST",url:e,data:b,dataType:"json",success:function(a){j.http_response(a)},error:function(a,b,e){rcmail.http_error(a,b,e,d)}})};this.http_response=function(a){if(a){a.unlock&& +this.set_busy(!1);this.triggerEvent("responsebefore",{response:a});this.triggerEvent("responsebefore"+a.action,{response:a});a.env&&this.set_env(a.env);if(typeof a.texts=="object")for(var b in a.texts)typeof a.texts[b]=="string"&&this.add_label(b,a.texts[b]);a.exec&&(console.log(a.exec),eval(a.exec));if(a.callbacks&&a.callbacks.length)for(b=0;b0));case "moveto":this.env.action=="show"?(this.enable_command(this.env.message_commands,!0),this.env.list_post||this.enable_command("reply-list",!1)):this.task=="addressbook"&&this.triggerEvent("listupdate",{folder:this.env.source, +rowcount:this.contact_list.rowcount});case "purge":case "expunge":this.task=="mail"&&(this.env.messagecount||(this.env.contentframe&&this.show_contentframe(!1),this.enable_command(this.env.message_commands,"purge","expunge","select-all","select-none","sort","expand-all","expand-unread","collapse-all",!1)),this.message_list&&this.triggerEvent("listupdate",{folder:this.env.mailbox,rowcount:this.message_list.rowcount}));break;case "check-recent":case "getunread":case "search":case "list":if(this.task== +"mail"){if(this.enable_command("show","expunge","select-all","select-none","sort",this.env.messagecount>0),this.enable_command("purge",this.purge_mailbox_test()),this.enable_command("expand-all","expand-unread","collapse-all",this.env.threading&&this.env.messagecount),a.action=="list"||a.action=="search")this.msglist_select(this.message_list),this.triggerEvent("listupdate",{folder:this.env.mailbox,rowcount:this.message_list.rowcount})}else if(this.task=="addressbook"&&(this.enable_command("export", +this.contact_list&&this.contact_list.rowcount>0),a.action=="list"||a.action=="search"))this.enable_command("group-create",this.env.address_sources[this.env.source].groups&&!this.env.address_sources[this.env.source].readonly),this.enable_command("group-rename","group-delete",this.env.address_sources[this.env.source].groups&&this.env.group&&!this.env.address_sources[this.env.source].readonly),this.triggerEvent("listupdate",{folder:this.env.source,rowcount:this.contact_list.rowcount})}a.unlock&&this.hide_message(a.unlock); +this.triggerEvent("responseafter",{response:a});this.triggerEvent("responseafter"+a.action,{response:a})}};this.http_error=function(a,b,d,e){b=a.statusText;this.set_busy(!1,null,e);a.abort();b&&this.display_message(this.get_label("servererror")+" ("+b+")","error")};this.start_keepalive=function(){this._int&&clearInterval(this._int);if(this.env.keep_alive&&!this.env.framed&&this.task=="mail"&&this.gui_objects.mailboxlist)this._int=setInterval(function(){j.check_for_recent(!1)},this.env.keep_alive* +1E3);else if(this.env.keep_alive&&!this.env.framed&&this.task!="login"&&this.env.action!="print")this._int=setInterval(function(){j.send_keep_alive()},this.env.keep_alive*1E3)};this.send_keep_alive=function(){this.http_request("keep-alive","_t="+(new Date).getTime())};this.check_for_recent=function(a){if(!this.busy){var b,d="_t="+(new Date).getTime()+"&_mbox="+urlencode(this.env.mailbox);a&&(b=this.set_busy(!0,"checkingmail"),d+="&_refresh=1",this.start_keepalive());this.gui_objects.messagelist&& +(d+="&_list=1");this.gui_objects.quotadisplay&&(d+="&_quota=1");this.env.search_request&&(d+="&_search="+this.env.search_request);this.http_request("check-recent",d,b)}};this.get_single_uid=function(){return this.env.uid?this.env.uid:this.message_list?this.message_list.get_single_selection():null};this.get_single_cid=function(){return this.env.cid?this.env.cid:this.contact_list?this.contact_list.get_single_selection():null};this.get_caret_pos=function(a){if(typeof a.selectionEnd!="undefined")return a.selectionEnd; +else if(document.selection&&document.selection.createRange){var b=document.selection.createRange();if(b.parentElement()!=a)return 0;var d=b.duplicate();a.tagName=="TEXTAREA"?d.moveToElementText(a):d.expand("textedit");d.setEndPoint("EndToStart",b);b=d.text.length;return b<=a.value.length?b:-1}else return a.value.length};this.set_caret_pos=function(a,b){if(a.setSelectionRange)a.setSelectionRange(b,b);else if(a.createTextRange){var d=a.createTextRange();d.collapse(!0);d.moveEnd("character",b);d.moveStart("character", +b);d.select()}};this.lock_form=function(a,b){if(a&&a.elements){var d,e,f;if(b)this.disabled_form_elements=[];d=0;for(e=a.elements.length;db.parent().width())j.title=b.html()}};rcube_webmail.prototype.addEventListener=rcube_event_engine.prototype.addEventListener; +rcube_webmail.prototype.removeEventListener=rcube_event_engine.prototype.removeEventListener;rcube_webmail.prototype.triggerEvent=rcube_event_engine.prototype.triggerEvent;