GO.email.AliasesDialog=function(a){if(!a){a={}}this.aliasesGrid=new GO.email.AliasesGrid();a.layout="fit";a.modal=false;a.resizable=false;a.width=500;a.height=400;a.closeAction="hide";a.title=GO.email.lang.aliases;a.items=this.aliasesGrid;a.buttons=[{text:GO.lang.cmdClose,handler:function(){this.hide()},scope:this}];GO.email.AliasesDialog.superclass.constructor.call(this,a)};Ext.extend(GO.email.AliasesDialog,Ext.Window,{show:function(a){this.aliasesGrid.setAccountId(a);GO.email.AliasesDialog.superclass.show.call(this)}});GO.email.AliasDialog=function(b){if(!b){b={}}this.buildForm();var a=function(){this.formPanel.items.items[0].focus()};b.layout="fit";b.modal=false;b.resizable=false;b.width=500;b.autoHeight=true;b.closeAction="hide";b.title=GO.email.lang.alias;b.items=this.formPanel;b.focus=a.createDelegate(this);b.buttons=[{text:GO.lang.cmdOk,handler:function(){this.submitForm(true)},scope:this},{text:GO.lang.cmdApply,handler:function(){this.submitForm()},scope:this},{text:GO.lang.cmdClose,handler:function(){this.hide()},scope:this}];GO.email.AliasDialog.superclass.constructor.call(this,b);this.addEvents({save:true})};Ext.extend(GO.email.AliasDialog,Ext.Window,{show:function(b,a){if(!this.rendered){this.render(Ext.getBody())}this.formPanel.form.reset();if(!b){b=0}this.setAliasId(b);if(this.alias_id>0){this.formPanel.load({url:GO.settings.modules.email.url+"json.php",waitMsg:GO.lang.waitMsgLoad,success:function(c,d){GO.email.AliasDialog.superclass.show.call(this)},failure:function(c,d){Ext.Msg.alert(GO.lang.strError,d.result.feedback)},scope:this})}else{GO.email.AliasDialog.superclass.show.call(this)}},setAliasId:function(a){this.formPanel.form.baseParams.alias_id=a;this.alias_id=a},submitForm:function(a){this.formPanel.form.submit({url:GO.settings.modules.email.url+"action.php",params:{task:"save_alias"},waitMsg:GO.lang.waitMsgSave,success:function(b,c){if(c.result.alias_id){this.setAliasId(c.result.alias_id)}this.fireEvent("save",this,this.alias_id);if(a){this.hide()}},failure:function(b,c){if(c.failureType=="client"){Ext.MessageBox.alert(GO.lang.strError,GO.lang.strErrorsInForm)}else{Ext.MessageBox.alert(GO.lang.strError,c.result.feedback)}},scope:this})},buildForm:function(){this.formPanel=new Ext.form.FormPanel({waitMsgTarget:true,url:GO.settings.modules.email.url+"action.php",border:false,baseParams:{task:"alias",account_id:0},cls:"go-form-panel",autoHeight:true,items:[{xtype:"textfield",name:"name",anchor:"100%",allowBlank:false,fieldLabel:GO.lang.strName},{xtype:"textfield",name:"email",anchor:"100%",allowBlank:false,fieldLabel:GO.email.lang.email},{xtype:"textarea",name:"signature",anchor:"100%",height:150,fieldLabel:GO.email.lang.signature}]})}});GO.email.AliasesGrid=function(a){if(!a){a={}}a.layout="fit";a.autoScroll=true;a.store=new GO.data.JsonStore({url:GO.settings.modules.email.url+"json.php",baseParams:{task:"aliases"},root:"results",id:"id",totalProperty:"total",fields:["id","account_id","name","email","signature"],remoteSort:true});var b=new Ext.grid.ColumnModel({defaults:{sortable:true},columns:[{header:GO.lang.strName,dataIndex:"name"},{header:GO.email.lang.email,dataIndex:"email"}]});a.cm=b;a.view=new Ext.grid.GridView({autoFill:true,forceFit:true,emptyText:GO.lang.strNoItems});a.sm=new Ext.grid.RowSelectionModel();a.loadMask=true;this.aliasDialog=new GO.email.AliasDialog();this.aliasDialog.on("save",function(){this.store.reload();if(GO.email.aliasesStore.loaded){GO.email.aliasesStore.reload()}},this);a.tbar=[{iconCls:"btn-add",text:GO.lang.cmdAdd,cls:"x-btn-text-icon",handler:function(){this.aliasDialog.formPanel.baseParams.account_id=this.account_id;this.aliasDialog.show()},scope:this},{iconCls:"btn-delete",text:GO.lang.cmdDelete,cls:"x-btn-text-icon",handler:function(){this.deleteSelected({callback:function(){if(GO.email.aliasesStore.loaded){GO.email.aliasesStore.reload()}this.fireEvent("delete",this)},scope:this})},scope:this}];GO.email.AliasesGrid.superclass.constructor.call(this,a);this.on("rowdblclick",function(d,e){var c=d.getStore().getAt(e);this.aliasDialog.show(c.data.id)},this)};Ext.extend(GO.email.AliasesGrid,GO.grid.GridPanel,{setAccountId:function(a){if(this.store.baseParams.account_id!=a){this.store.baseParams.account_id=a;if(a==0){this.store.removeAll()}else{this.store.load()}}this.setDisabled(a==0);this.account_id=a}});GO.email.FoldersDialog=function(a){Ext.apply(this,a);this.foldersTree=new Ext.tree.TreePanel({animate:true,border:false,autoScroll:true,height:200,loader:new Ext.tree.TreeLoader({dataUrl:GO.settings.modules.email.url+"json.php",baseParams:{task:"tree-edit",account_id:0},preloadChildren:true,listeners:{beforeload:function(){this.body.mask(GO.lang.waitMsgLoad)},load:function(){this.body.unmask()},scope:this}})});this.rootNode=new Ext.tree.AsyncTreeNode({text:GO.email.lang.root,draggable:false,id:"account",folder_id:0,expanded:false});this.foldersTree.setRootNode(this.rootNode);this.rootNode.on("load",function(){this.rootNode.select()},this);this.foldersTree.on("checkchange",function(e,d){this.body.mask(GO.lang.waitMsgSave,"x-mask-loading");var c=d?"subscribe":"unsubscribe";Ext.Ajax.request({url:GO.settings.modules.email.url+"action.php",params:{task:c,account_id:this.account_id,mailbox:e.attributes.mailbox},callback:function(g,h,f){if(!h){Ext.MessageBox.alert(GO.lang.strError,f.result.feedback)}this.body.unmask()},scope:this})},this);var b=new Ext.tree.TreeEditor(this.foldersTree,{ignoreNoChange:true});b.on("beforestartedit",function(d,c,e){if(d.editNode.attributes.folder_id==0||d.editNode.attributes.mailbox=="INBOX"){alert(GO.email.lang.cantEditFolder);return false}});b.on("beforecomplete",function(d,c,e){Ext.Ajax.request({url:GO.settings.modules.email.url+"action.php",params:{task:"rename_folder",folder_id:d.editNode.attributes.folder_id,new_name:c},callback:function(g,h,f){if(!h){Ext.MessageBox.alert(GO.lang.strError,f.result.feedback)}else{return true}}})});GO.email.FoldersDialog.superclass.constructor.call(this,{layout:"fit",modal:false,shadow:false,minWidth:300,minHeight:300,height:400,width:500,plain:true,closeAction:"hide",title:GO.email.lang.folders,items:this.foldersTree,tbar:[{iconCls:"btn-delete",text:GO.lang.cmdDelete,cls:"x-btn-text-icon",scope:this,handler:function(){var d=this.foldersTree.getSelectionModel();var c=d.getSelectedNode();if(!c||c.attributes.folder_id<1){Ext.MessageBox.alert(GO.lang.strError,GO.email.lang.selectFolderDelete)}else{if(c.attributes.mailbox=="INBOX"){Ext.MessageBox.alert(GO.lang.strError,GO.email.lang.cantDeleteInboxFolder)}else{GO.deleteItems({url:GO.settings.modules.email.url+"action.php",params:{task:"delete_folder",folder_id:c.attributes.folder_id},callback:function(e){if(e.success){c.remove()}else{Ext.MessageBox.alert(GO.lang.strError,e.feedback)}},count:1,scope:this})}}}},{iconCls:"btn-add",text:GO.lang.cmdAdd,cls:"x-btn-text-icon",handler:function(){var d=this.foldersTree.getSelectionModel();var c=d.getSelectedNode();if(!c){Ext.MessageBox.alert(GO.lang.strError,GO.email.lang.selectFolderAdd)}else{Ext.MessageBox.prompt(GO.lang.strName,GO.email.lang.enterFolderName,function(e,f){if(e=="ok"){Ext.Ajax.request({url:GO.settings.modules.email.url+"action.php",params:{task:"add_folder",folder_id:c.attributes.folder_id,account_id:this.account_id,new_folder_name:f},callback:function(h,j,g){if(!j){Ext.MessageBox.alert(GO.lang.strError,g.result.errors)}else{var i=Ext.decode(g.responseText);if(i.success){delete c.attributes.children;c.reload()}else{Ext.MessageBox.alert(GO.lang.strError,i.feedback)}}},scope:this})}},this)}},scope:this},{iconCls:"btn-refresh",text:GO.lang.cmdRefresh,cls:"x-btn-text-icon",handler:function(){this.rootNode.reload()},scope:this}],buttons:[{text:GO.lang.cmdClose,handler:function(){this.hide()},scope:this}]})};Ext.extend(GO.email.FoldersDialog,Ext.Window,{show:function(a){this.render(Ext.getBody());this.account_id=a;this.foldersTree.loader.baseParams.account_id=a;if(!this.rootNode.isExpanded()){this.rootNode.expand()}else{this.rootNode.reload()}GO.email.FoldersDialog.superclass.show.call(this)},getSubscribtionData:function(){var b=[];for(var a=0;a<this.allFoldersStore.data.items.length;a++){b[a]={id:this.allFoldersStore.data.items[a].get("id"),subscribed:this.allFoldersStore.data.items[a].get("subscribed"),name:this.allFoldersStore.data.items[a].get("name")}}return b}});GO.email.AccountDialog=function(a){Ext.apply(this,a);var i;var g=new Ext.grid.ColumnModel([{header:GO.email.lang.field,dataIndex:"field"},{header:GO.email.lang.contains,dataIndex:"keyword"},{header:GO.email.lang.moveToFolder,dataIndex:"folder"},{header:GO.email.lang.markAsRead,dataIndex:"mark_as_read",renderer:function(j){return j=="1"?GO.lang.cmdYes:GO.lang.cmdNo}}]);this.filtersDS=new GO.data.JsonStore({url:GO.settings.modules.email.url+"json.php",baseParams:{type:"filters",account_id:this.account_id},root:"results",id:"id",fields:["id","field","keyword","folder","mark_as_read"],remoteSort:false});var b=[{iconCls:"btn-add",text:GO.lang.cmdAdd,cls:"x-btn-text-icon",handler:function(){filter.showDialog(0,this.account_id,this.filtersDS)},scope:this},{iconCls:"btn-delete",text:GO.lang.cmdDelete,cls:"x-btn-text-icon",handler:function(){this.filtersGrid.deleteSelected()},scope:this}];this.filtersGrid=new GO.grid.GridPanel({layout:"fit",region:"center",border:false,loadMask:true,enableDragDrop:true,ddGroup:"EmailFiltersDD",ds:this.filtersDS,cm:g,view:new Ext.grid.GridView({autoFill:true,forceFit:true,emptyText:GO.lang.strNoItems}),sm:new Ext.grid.RowSelectionModel()});this.filtersGrid.on("render",function(){var j=new Ext.dd.DropTarget(this.filtersGrid.getView().mainBody,{ddGroup:"EmailFiltersDD",copy:false,notifyDrop:this.onNotifyDrop.createDelegate(this)})},this);this.filtersGrid.on("rowdblclick",function(){var j=this.filtersGrid.getSelectionModel();var k=j.getSelected();filter.showDialog(k.data.id,this.account_id,this.filtersDS,GO.email.subscribedFoldersStore)},this);this.filtersTab=new Ext.Panel({title:GO.email.lang.filters,layout:"border",border:false,tbar:b,items:[{xtype:"panel",region:"north",height:25,border:true,html:GO.email.lang.orderFilters,bodyStyle:"padding:5px"},this.filtersGrid]});this.filtersTab.on("show",function(){if(this.filtersDS.baseParams.account_id!=this.account_id){this.filtersDS.baseParams={task:"filters",account_id:this.account_id};this.filtersDS.load()}},this);var f={title:GO.email.lang.incomingMail,layout:"form",defaults:{anchor:"100%"},defaultType:"textfield",autoHeight:true,cls:"go-form-panel",waitMsgTarget:true,labelWidth:120,items:[new Ext.form.TextField({fieldLabel:"IMAP "+GO.email.lang.host,name:"host",allowBlank:false,listeners:{change:function(){this.refreshNeeded=true},scope:this}}),new Ext.form.TextField({fieldLabel:GO.lang.strUsername,name:"username",allowBlank:false,listeners:{change:function(){this.refreshNeeded=true},scope:this}}),new Ext.form.TextField({fieldLabel:GO.lang.strPassword,name:"password",inputType:"password",allowBlank:false,listeners:{change:function(){this.refreshNeeded=true},scope:this}}),i=new Ext.form.Checkbox({fieldLabel:GO.email.lang.ssl,name:"use_ssl",checked:false}),{xtype:"fieldset",title:GO.email.lang.advanced,collapsible:true,forceLayout:true,collapsed:true,autoHeight:true,autoWidth:true,defaultType:"textfield",labelWidth:75,labelAlign:"left",items:[new Ext.form.TextField({fieldLabel:GO.email.lang.port,name:"port",value:"143",allowBlank:false}),new Ext.form.TextField({fieldLabel:GO.email.lang.rootMailbox,name:"mbroot"})]}]};var e=[this.selectUser=new GO.form.SelectUser({fieldLabel:GO.lang.strUser,disabled:!GO.settings.has_admin_permission,anchor:"100%"}),{fieldLabel:GO.lang.strName,name:"name",allowBlank:false,anchor:"100%"},{fieldLabel:GO.lang.strEmail,name:"email",allowBlank:false,listeners:{change:function(){this.refreshNeeded=true},scope:this},anchor:"100%"},{xtype:"textarea",name:"signature",fieldLabel:GO.email.lang.signature,height:100,anchor:"100%"}];this.aliasesButton=new Ext.Button({text:GO.email.lang.manageAliases,handler:function(){if(!this.aliasesDialog){this.aliasesDialog=new GO.email.AliasesDialog()}this.aliasesDialog.show(this.account_id)},scope:this});e.push(this.aliasesButton);var c={title:GO.lang.strProperties,layout:"form",anchor:"100% 100%",defaultType:"textfield",autoHeight:true,cls:"go-form-panel",labelWidth:100,items:e};var h={title:GO.email.lang.outgoingMail,layout:"form",defaults:{anchor:"100%"},defaultType:"textfield",autoHeight:true,cls:"go-form-panel",labelWidth:120,items:[new Ext.form.TextField({fieldLabel:GO.email.lang.host,name:"smtp_host",allowBlank:false,value:GO.email.defaultSmtpHost}),this.encryptionField=new Ext.form.ComboBox({fieldLabel:GO.email.lang.encryption,hiddenName:"smtp_encryption",store:new Ext.data.SimpleStore({fields:["value","text"],data:[["",GO.email.lang.noEncryption],["tls","TLS"],["ssl","SSL"]]}),value:"",valueField:"value",displayField:"text",typeAhead:true,mode:"local",triggerAction:"all",editable:false,selectOnFocus:true,forceSelection:true}),new Ext.form.TextField({fieldLabel:GO.email.lang.port,name:"smtp_port",value:"25",allowBlank:false}),new Ext.form.TextField({fieldLabel:GO.lang.strUsername,name:"smtp_username"}),new Ext.form.TextField({fieldLabel:GO.lang.strPassword,name:"smtp_password",inputType:"password"})]};GO.email.subscribedFoldersStore=new GO.data.JsonStore({url:GO.settings.modules.email.url+"json.php",baseParams:{task:"subscribed_folders",account_id:0},root:"data",fields:["id","name"]});this.foldersTab=new Ext.Panel({title:GO.email.lang.folders,autoHeight:true,layout:"form",cls:"go-form-panel",defaults:{anchor:"100%"},defaultType:"textfield",labelWidth:150,tbar:[{iconCls:"btn-add",text:GO.email.lang.manageFolders,cls:"x-btn-text-icon",scope:this,handler:function(){if(!this.foldersDialog){this.foldersDialog=new GO.email.FoldersDialog()}this.foldersDialog.show(this.account_id)}}],items:[new GO.form.ComboBoxReset({fieldLabel:GO.email.lang.sendItemsFolder,hiddenName:"sent",store:GO.email.subscribedFoldersStore,valueField:"name",displayField:"name",typeAhead:true,mode:"local",triggerAction:"all",editable:false,selectOnFocus:true,forceSelection:true,emptyText:GO.lang.disabled}),new GO.form.ComboBoxReset({fieldLabel:GO.email.lang.trashFolder,hiddenName:"trash",store:GO.email.subscribedFoldersStore,valueField:"name",displayField:"name",typeAhead:true,mode:"local",triggerAction:"all",editable:false,selectOnFocus:true,forceSelection:true,emptyText:GO.lang.disabled}),new GO.form.ComboBoxReset({fieldLabel:GO.email.lang.draftsFolder,hiddenName:"drafts",store:GO.email.subscribedFoldersStore,valueField:"name",displayField:"name",typeAhead:true,mode:"local",triggerAction:"all",editable:false,selectOnFocus:true,forceSelection:true,emptyText:GO.lang.disabled})]});this.vacationPanel=new Ext.Panel({disabled:true,title:GO.email.lang.vacation,cls:"go-form-panel",layout:"form",autoScroll:true,items:[{xtype:"checkbox",name:"vacation_active",anchor:"-20",boxLabel:GO.email.lang.vacationActive,hideLabel:true},{xtype:"textfield",name:"vacation_subject",anchor:"-20",fieldLabel:GO.email.lang.vacationSubject},{xtype:"textarea",name:"vacation_body",anchor:"-20",fieldLabel:GO.email.lang.vacationBody,height:160},{xtype:"textfield",name:"forward_to",anchor:"-20",fieldLabel:GO.email.lang.forwardTo}]});this.permissionsTab=new GO.grid.PermissionsPanel({hideLevel:true});var d=[c,this.foldersTab,this.filtersTab,this.vacationPanel,this.permissionsTab];if(GO.settings.modules.email.write_permission){d.splice(1,0,f,h)}this.propertiesPanel=new Ext.form.FormPanel({url:GO.settings.modules.email.url+"action.php",defaults:{forceLayout:true},defaultType:"textfield",waitMsgTarget:true,labelWidth:120,border:false,items:[this.tabPanel=new Ext.TabPanel({hideLabel:true,deferredRender:false,activeTab:0,border:false,anchor:"100% 100%",items:d,enableTabScroll:true})]});this.encryptionField.on("select",function(m,j,k){var l=j.data.value==""?"25":"465";this.propertiesPanel.form.findField("smtp_port").setValue(l)},this);i.on("check",function(l,k){var j=k?993:143;this.propertiesPanel.form.findField("port").setValue(j)},this);this.selectUser.on("select",function(l,j,k){if(GO.util.empty(this.account_id)){this.propertiesPanel.form.findField("email").setValue(j.data.email);this.propertiesPanel.form.findField("username").setValue(j.data.username);this.propertiesPanel.form.findField("name").setValue(j.data.name)}},this);GO.email.AccountDialog.superclass.constructor.call(this,{layout:"fit",modal:false,height:400,width:900,closeAction:"hide",title:GO.email.lang.account,items:this.propertiesPanel,buttons:[{text:GO.lang.cmdOk,handler:function(){this.save(true)},scope:this},{text:GO.lang.cmdApply,handler:function(){this.save(false)},scope:this},{text:GO.lang.cmdClose,handler:function(){this.hide()},scope:this}]});this.addEvents({save:true})};Ext.extend(GO.email.AccountDialog,GO.Window,{save:function(a){this.propertiesPanel.form.submit({url:GO.settings.modules.email.url+"action.php",params:{task:"save_account_properties",type:"imap",account_id:this.account_id},waitMsg:GO.lang.waitMsgSave,success:function(b,c){c.result.refreshNeeded=this.refreshNeeded||this.account_id==0;if(c.result.account_id){this.loadAccount(c.result.account_id)}this.refreshNeeded=false;this.fireEvent("save",this,c.result);if(a){this.hide()}},failure:function(c,d){var b="";if(d.failureType=="client"){b=GO.lang.strErrorsInForm}else{if(d.result){b=d.result.feedback}else{b=GO.lang.strRequestError}}Ext.MessageBox.alert(GO.lang.strError,b)},scope:this})},show:function(a){GO.email.AccountDialog.superclass.show.call(this);this.tabPanel.setActiveTab(0);this.aliasesButton.setDisabled(true);if(a){this.loadAccount(a);GO.email.subscribedFoldersStore.baseParams.account_id=a;GO.email.subscribedFoldersStore.load()}else{this.propertiesPanel.form.reset();this.setAccountId(0);this.foldersTab.setDisabled(true);this.filtersTab.setDisabled(true);this.vacationPanel.setDisabled(true);this.propertiesPanel.form.findField("name").setValue(GO.settings.name);this.propertiesPanel.form.findField("email").setValue(GO.settings.email);this.propertiesPanel.form.findField("username").setValue(GO.settings.username)}},loadAccount:function(a){this.propertiesPanel.form.load({url:GO.settings.modules.email.url+"json.php",params:{account_id:a,task:"account"},waitMsg:GO.lang.waitMsgLoad,success:function(b,c){this.refreshNeeded=false;this.setAccountId(a);this.selectUser.setRemoteValue(c.result.data.user_id,c.result.data.user_name);this.aliasesButton.setDisabled(false);this.foldersTab.setDisabled(c.result.data.type=="pop3");this.filtersTab.setDisabled(c.result.data.type=="pop3");this.permissionsTab.setAcl(c.result.data.acl_id);var d=(typeof(c.result.data.vacation_subject)!="undefined");this.vacationPanel.setDisabled((!d&&!GO.systemusers)||c.result.data.hidetab)},scope:this})},setAccountId:function(a){this.account_id=a},onNotifyDrop:function(h,g,f){var k=this.filtersGrid.selModel.getSelections();var d=h.getDragData(g);var j=d.rowIndex;if(j=="undefined"){j=this.filtersGrid.store.data.length-1}for(c=0;c<k.length;c++){var b=this.filtersGrid.store.getById(k[c].id);if(!this.copy){this.filtersGrid.store.remove(this.filtersGrid.store.getById(k[c].id))}this.filtersGrid.store.insert(j,b)}var a={};for(var c=0;c<this.filtersGrid.store.data.items.length;c++){a[this.filtersGrid.store.data.items[c].get("id")]=c}Ext.Ajax.request({url:GO.settings.modules.email.url+"action.php",params:{task:"save_filters_sort_order",sort_order:Ext.encode(a)}})}});var filter=function(){return{showDialog:function(c,a,b){this.account_id=a;if(!this.win){this.formPanel=new Ext.form.FormPanel({layout:"form",defaults:{anchor:"100%"},defaultType:"textfield",labelWidth:125,autoHeight:true,cls:"go-form-panel",waitMsgTarget:true,items:[new Ext.form.ComboBox({fieldLabel:GO.email.lang.field,hiddenName:"field",store:new Ext.data.SimpleStore({fields:["value","text"],data:[["from",GO.email.lang.sender],["subject",GO.email.lang.subject],["to",GO.email.lang.sendTo],["cc",GO.email.lang.ccField]]}),value:"from",valueField:"value",displayField:"text",typeAhead:true,mode:"local",triggerAction:"all",editable:false,selectOnFocus:true,forceSelection:true}),{fieldLabel:GO.email.lang.keyword,name:"keyword",allowBlank:false},new Ext.form.ComboBox({fieldLabel:GO.email.lang.moveToFolder,hiddenName:"folder",store:GO.email.subscribedFoldersStore,valueField:"name",displayField:"name",typeAhead:true,mode:"local",triggerAction:"all",editable:false,selectOnFocus:true,forceSelection:true,allowBlank:false}),new Ext.form.Checkbox({boxLabel:GO.email.lang.markAsRead,name:"mark_as_read",checked:false,hideLabel:true})]});this.win=new Ext.Window({title:GO.email.lang.filter,layout:"fit",modal:false,shadow:false,autoHeight:true,width:400,plain:false,closeAction:"hide",items:this.formPanel,buttons:[{text:GO.lang.cmdOk,handler:function(){this.formPanel.form.submit({url:GO.settings.modules.email.url+"action.php",params:{task:"save_filter",filter_id:this.filter_id,account_id:this.account_id},waitMsg:GO.lang.waitMsgSave,success:function(d,e){if(e.result.filter_id){this.filter_id=e.result.filter_id}b.reload();this.win.hide()},failure:function(e,f){var d="";if(f.failureType=="client"){d=GO.lang.strErrorsInForm}else{d=f.result.feedback}Ext.MessageBox.alert(GO.lang.strError,d)},scope:this})},scope:this},{text:GO.lang.cmdClose,handler:function(){this.win.hide()},scope:this}]})}if(this.filter_id!=c){this.filter_id=c;if(this.filter_id>0){this.formPanel.load({url:GO.settings.modules.email.url+"json.php",params:{filter_id:c,task:"filter"}})}else{this.formPanel.form.reset()}}this.win.show()}}}();GO.email.SearchDialog=function(a){return{hasSearch:false,show:function(){if(!this.dialog){this.formPanel=new Ext.FormPanel({defaults:{anchor:"100%"},defaultType:"textfield",autoHeight:true,bodyStyle:"padding:5px",labelWidth:125,items:[{fieldLabel:GO.email.lang.subject,name:"subject"},{fieldLabel:GO.email.lang.searchFrom,name:"from"},{fieldLabel:GO.email.lang.searchTo,name:"to"},{fieldLabel:GO.email.lang.searchCC,name:"cc"},{fieldLabel:GO.email.lang.body,name:"body"},new Ext.form.DateField({fieldLabel:GO.email.lang.recievedBefore,name:"before",format:GO.settings.date_format}),new Ext.form.DateField({fieldLabel:GO.email.lang.recievedSince,name:"since",format:GO.settings.date_format}),new Ext.form.ComboBox({fieldLabel:GO.email.lang.flagged,name:"flagged",store:new Ext.data.SimpleStore({fields:["value","text"],data:[["",GO.email.lang.NA],["FLAGGED",GO.lang.cmdYes],["UNFLAGGED",GO.lang.cmdNo]]}),value:"",valueField:"value",displayField:"text",mode:"local",triggerAction:"all",editable:false,selectOnFocus:true,forceSelection:true}),new Ext.form.ComboBox({fieldLabel:GO.email.lang.answered,name:"answered",store:new Ext.data.SimpleStore({fields:["value","text"],data:[["",GO.email.lang.NA],["ANSWERED",GO.lang.cmdYes],["UNANSWERED",GO.lang.cmdNo]]}),value:"",valueField:"value",displayField:"text",mode:"local",triggerAction:"all",editable:false,selectOnFocus:true,forceSelection:true}),new Ext.form.ComboBox({fieldLabel:GO.email.lang.read,name:"seen",store:new Ext.data.SimpleStore({fields:["value","text"],data:[["",GO.email.lang.NA],["SEEN",GO.lang.cmdYes],["UNSEEN",GO.lang.cmdNo]]}),value:"",valueField:"value",displayField:"text",typeAhead:true,mode:"local",triggerAction:"all",editable:false,selectOnFocus:true,forceSelection:true})]});this.dialog=new Ext.Window({layout:"fit",title:GO.lang.strSearch,modal:false,autoHeight:true,width:500,closeAction:"hide",items:this.formPanel,buttons:[{text:GO.lang.cmdOk,handler:this.doSearch,scope:this},{text:GO.lang.cmdReset,handler:function(){this.formPanel.form.reset()},scope:this},{text:GO.lang.cmdClose,handler:function(){this.dialog.hide()},scope:this}],keys:[{key:Ext.EventObject.ENTER,fn:this.doSearch,scope:this}],focus:function(){this.formPanel.form.findField("subject").focus(true)}.createDelegate(this)})}this.dialog.show();if(GO.email.search_query){var b=GO.email.search_query;var c=(GO.email.search_type)?GO.email.search_type:GO.email.search_type_default;this.formPanel.form.findField("from").setValue((c=="from")?b:"");this.formPanel.form.findField("subject").setValue((c=="subject")?b:"");this.formPanel.form.findField("to").setValue((c=="to")?b:"");this.formPanel.form.findField("cc").setValue((c=="cc")?b:"")}},doSearch:function(){this.hasSearch=true;a.store.baseParams.query=this.buildQuery();a.store.load();this.dialog.hide()},buildQuery:function(){var j="";var f=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"];var e=this.formPanel.form;var k=e.findField("subject").getValue();var m=e.findField("from").getValue();var n=e.findField("to").getValue();var g=e.findField("cc").getValue();var h=e.findField("body").getValue();var l=e.findField("before").getValue();var i=e.findField("since").getValue();var c=e.findField("flagged").getValue();var b=e.findField("seen").getValue();var d=e.findField("answered").getValue();if(k!=""){j+='SUBJECT "'+k+'" '}if(m!=""){j+='FROM "'+m+'" '}if(n!=""){j+='TO "'+n+'" '}if(g!=""){j+='CC "'+g+'" '}if(h!=""){j+='BODY "'+h+'" '}if(l!=""){j+='BEFORE "'+l.format("d")+"-"+f[l.format("n")-1]+"-"+l.format("Y")+'" '}if(i!=""){j+='SINCE "'+i.format("d")+"-"+f[i.format("n")-1]+"-"+i.format("Y")+'" '}if(c!=""){j+=" "+c}if(b!=""){j+=" "+b}if(d!=""){j+=" "+d}return j}}};GO.email.MessagePanel=Ext.extend(Ext.Panel,{uid:0,mailbox:"",account_id:0,initComponent:function(){GO.email.MessagePanel.superclass.initComponent.call(this);this.addEvents({attachmentClicked:true,zipOfAttachmentsClicked:true,linkClicked:true,emailClicked:true,load:true,reset:true});this.bodyId=Ext.id();this.attachmentsId=Ext.id();var a='<div class="message-header"><table class="message-header-table"><tr><td style="width:70px"><b>'+GO.email.lang.from+'</b></td><td>: {from} &lt;<a class="normal-link" href="#" onclick="GO.email.showAddressMenu(event, \'{sender}\', \'{[this.addSlashes(values.from)]}\');">{sender}</a>&gt;</td></tr><tr><td><b>'+GO.email.lang.subject+"</b></td><td>: {subject}</td></tr><tr><td><b>"+GO.lang.strDate+"</b></td><td>: {date}</td></tr><tr><td><b>"+GO.email.lang.to+'</b></td><td>: <tpl for="to">{name} <tpl if="email.length">&lt;<a class="normal-link" href="#" onclick="GO.email.showAddressMenu(event, \'{email}\', \'{[this.addSlashes(values.name)]}\');">{email}</a>&gt;; </tpl></tpl></td></tr><tpl if="cc.length"><tr><td><b>'+GO.email.lang.cc+'</b></td><td>: <tpl for="cc">{name} <tpl if="email.length">&lt;<a class="normal-link" href="#" onclick="GO.email.showAddressMenu(event, \'{email}\', \'{[this.addSlashes(values.name)]}\');">{email}</a>&gt;; </tpl></tpl></td></tr></tpl><tpl if="bcc.length"><tr><td><b>'+GO.email.lang.bcc+'</b></td><td>: <tpl for="bcc">{name} <tpl if="email.length">&lt;<a class="normal-link" href="#" onclick="GO.email.showAddressMenu(event, \'{email}\', \'{[this.addSlashes(values.name)]}\');">{email}</a>&gt;; </tpl></tpl></td></tr></tpl></table><tpl if="attachments.length"><table style="padding-top:5px;"><tr><td><b>'+GO.email.lang.attachments+':</b></td></tr><tr><td id="'+this.attachmentsId+'"><tpl for="attachments"><a class="filetype-link filetype-{extension}" id="'+this.attachmentsId+'_{[xindex-1]}" href="#">{name} ({human_size})</a> </tpl><tpl if="attachments.length&gt;1"><a class="filetype-link filetype-zip" id="'+this.attachmentsId+'_zipofall" href="#">'+GO.email.lang.downloadAllAsZip+'</a></tpl></td></tr></table></tpl><tpl if="blocked_images&gt;0"><div class="go-warning-msg em-blocked">'+GO.email.lang.blocked+' <a id="em-unblock" href="#" class="normal-link">'+GO.email.lang.unblock+'</a></div></tpl></div><tpl if="!GO.util.empty(values.iCalendar)"><tpl if="iCalendar.feedback"><div class="message-icalendar"><span class="message-icalendar-icon go-link-icon-1"></span>{[values.iCalendar.feedback]}<span class="message-icalendar-actions"><tpl if="iCalendar.invitation"><tpl if="iCalendar.invitation.is_invitation"><a class="normal-link" id="em-icalendar-accept-invitation" href="#">'+GO.email.lang.icalendarAcceptInvitation+'</a> <tpl if="iCalendar.invitation.event_declined == false"><a class="normal-link" id="em-icalendar-decline-invitation" href="#">'+GO.email.lang.icalendarDeclineInvitation+'</a> </tpl><a class="normal-link" id="em-icalendar-tentative-invitation" href="#">'+GO.email.lang.icalendarTentativeInvitation+'</a> </tpl><tpl if="iCalendar.invitation.is_cancellation"><a class="normal-link" id="em-icalendar-delete-event" href="#">'+GO.email.lang.icalendarDeleteEvent+'</a></tpl><tpl if="iCalendar.invitation.is_update"><a class="normal-link" id="em-icalendar-update-event" href="#">'+GO.email.lang.icalendarUpdateEvent+'</a></tpl></tpl></span></div></tpl></tpl><div id="'+this.bodyId+'" class="message-body go-html-formatted">{body}</div>';this.template=new Ext.XTemplate(a,{addSlashes:function(b){b=GO.util.html_entity_decode(b,"ENT_QUOTES");b=GO.util.add_slashes(b);return b}});this.template.compile()},loadMessage:function(b,d,c,a){if(b){this.uid=b;this.account_id=c;this.mailbox=d;this.params={uid:b,mailbox:d,account_id:c,task:"message"};if(a){this.params.password=a}}this.el.mask(GO.lang.waitMsgLoad);Ext.Ajax.request({url:GO.settings.modules.email.url+"json.php",params:this.params,scope:this,callback:function(f,h,e){if(h){var g=Ext.decode(e.responseText);if(this.updated){g.iCalendar.feedback=GO.email.lang.icalendarEventUpdated;this.updated=false}else{if(this.created){g.iCalendar.feedback=GO.email.lang.icalendarEventCreated;this.created=false}else{if(this.deleted){g.iCalendar.feedback=GO.email.lang.icalendarEventDeleted;this.deleted=false}else{if(this.declined){g.iCalendar.feedback=GO.email.lang.icalendarInvitationDeclined;this.declined=false}}}}g.mailbox=d;if(g.askPassword){if(!this.passwordDialog){this.passwordDialog=new GO.dialog.PasswordDialog({title:GO.smime?GO.smime.lang.enterPassword:GO.gnupg.lang.enterPassword,fn:function(k,j,i){if(k=="cancel"){this.reset();this.el.unmask()}else{this.loadMessage(i.data.uid,i.data.mailbox,i.data.account_id,j)}},scope:this})}this.passwordDialog.data=g;this.passwordDialog.show()}else{this.setMessage(g);this.el.unmask()}if(g.feedback){GO.errorDialog.show(g.feedback)}this.fireEvent("load",f,h,e,g,a)}}})},reset:function(){this.data=false;this.uid=0;if(this.messageBodyEl){this.messageBodyEl.removeAllListeners()}if(this.attachmentsEl){this.attachmentsEl.removeAllListeners()}if(this.unblockEl){this.unblockEl.removeAllListeners()}this.body.update("");this.fireEvent("reset",this)},setMessage:function(e){this.data=e;if(this.messageBodyEl){this.messageBodyEl.removeAllListeners()}if(this.attachmentsEl){this.attachmentsEl.removeAllListeners()}if(this.unblockEl){this.unblockEl.removeAllListeners()}this.template.overwrite(this.body,e);this.unblockEl=Ext.get("em-unblock");if(this.unblockEl){this.unblockEl.on("click",function(){this.params.unblock="true";this.loadMessage()},this)}var f=Ext.get("em-icalendar-accept-invitation");if(f){f.on("click",function(){this.processInvitation(1)},this)}var c=Ext.get("em-icalendar-decline-invitation");if(c){c.on("click",function(){this.processInvitation(2)},this)}var d=Ext.get("em-icalendar-tentative-invitation");if(d){d.on("click",function(){this.processInvitation(3)},this)}var b=Ext.get("em-icalendar-delete-event");if(b){b.on("click",function(){this.deleteEvent()},this)}var a=Ext.get("em-icalendar-update-event");if(a){a.on("click",function(){this.processInvitation()},this)}this.messageBodyEl=Ext.get(this.bodyId);this.messageBodyEl.on("click",this.onMessageBodyClick,this);this.messageBodyEl.on("contextmenu",this.onMessageBodyContextMenu,this);if(e.attachments.length){this.attachmentsEl=Ext.get(this.attachmentsId);this.attachmentsEl.on("click",this.openAttachment,this);if(this.attachmentContextMenu){this.attachmentsEl.on("contextmenu",this.onAttachmentContextMenu,this)}}this.body.scrollTo("top",0);if(this.data["new"]=="1"&&this.data.notification){if(GO.email.alwaysRespondToNotifications||confirm(GO.email.lang.sendNotification.replace("%s",this.data.notification))){var g={task:"notification",account_id:this.data.account_id,message_to:this.data.to,notification_to:this.data.notification,subject:this.data.subject};Ext.Ajax.request({url:GO.settings.modules.email.url+"action.php",params:g})}}},onAttachmentContextMenu:function(c,b){if(b.id.substr(0,this.attachmentsId.length)==this.attachmentsId){var a=b.id.substr(this.attachmentsId.length+1);if(a=="zipofall"){}else{c.preventDefault();var d=this.data.attachments[a];this.attachmentContextMenu.showAt(c.getXY(),d)}}},openAttachment:function(c,b){if(b.id.substr(0,this.attachmentsId.length)==this.attachmentsId){var a=b.id.substr(this.attachmentsId.length+1);if(a=="zipofall"){this.fireEvent("zipOfAttachmentsClicked")}else{var d=this.data.attachments[a];this.fireEvent("attachmentClicked",d,this)}}},launchAddressContextMenu:function(d,a){var f="";var b="";var c=a.indexOf("?");if(c>-1){b=a.substr(7,c-7);f=a.substr(c+1)}else{b=a.substr(7)}d.preventDefault();GO.email.addressContextMenu.showAt(d.getXY(),b,"",f)},onMessageBodyContextMenu:function(c,b){if(b.tagName!="A"){b=Ext.get(b).findParent("A",10);if(!b){return false}}if(b.tagName=="A"){var a=b.attributes.href.value;if(a.substr(0,6)=="mailto"){this.launchAddressContextMenu(c,a)}}},onMessageBodyClick:function(e,target){if(target.tagName!="A"){target=Ext.get(target).findParent("A",10);if(!target){return false}}if(target.tagName=="A"){var href=target.attributes.href.value;if(href.substr(0,6)=="mailto"){this.launchAddressContextMenu(e,href)}else{if(href.substr(0,3)=="go:"){e.preventDefault();var cmd="GO.mailFunctions."+href.substr(3);eval(cmd)}else{if(target.href&&target.href.indexOf("#")!=-1&&target.pathname==document.location.pathname){}else{e.preventDefault();this.fireEvent("linkClicked",href)}}}}},cal_id:0,status_id:0,created:false,updated:false,deleted:false,declined:false,processInvitation:function(a){this.status_id=a||-1;var c=this.data.iCalendar.invitation;var b=(c.event_id)?c.event_id:0;Ext.Ajax.request({url:GO.settings.modules.email.url+"action.php",params:{event_id:b,cal_id:this.cal_id,status_id:this.status_id,account_id:this.account_id,mailbox:this.mailbox,message_uid:this.uid,uuid:c.uuid,imap_id:c.imap_id,encoding:c.encoding,email_sender:c.email_sender,email:c.email,task:"icalendar_process_invitation"},scope:this,callback:function(e,g,d){var f=Ext.decode(d.responseText);if(f.success){if(f.updated){this.updated=true}else{if(this.status_id!=2){this.created=true}else{this.declined=true}}this.loadMessage();this.cal_id=0}else{this.showSelectCalendarWindow(f.calendars,f.status_id)}}})},deleteEvent:function(){if(confirm(GO.email.lang.icalendarDeleteEventConfirm)){var a=this.data.iCalendar.cancellation;Ext.Ajax.request({url:GO.settings.modules.calendar.url+"action.php",params:{event_id:this.data.iCalendar.invitation.event_id,task:"delete_event"},scope:this,callback:function(c,e,b){var d=Ext.decode(b.responseText);if(d.success){this.deleted=true;this.loadMessage()}}})}},showSelectCalendarWindow:function(b,a){if(!this.selectCalendarDialog){this.selectCalendarDialog=new GO.calendar.SelectCalendarDialog();this.selectCalendarDialog.on("calendar_selected",function(c){this.cal_id=c;this.processInvitation(a)},this)}this.selectCalendarDialog.populateComboBox(b);this.selectCalendarDialog.show()}});GO.email.AccountsDialog=function(a){if(!a){a={}}this.accountsGrid=new GO.email.AccountsGrid({region:"center"});a.maximizable=true;a.layout="fit";a.modal=false;a.resizable=true;a.width=600;a.height=400;a.closeAction="hide";a.title=GO.email.lang.accounts;a.buttons=[{text:GO.lang.cmdClose,handler:function(){this.hide()},scope:this}];a.items=this.accountsGrid;a.listeners={render:function(){this.accountsGrid.store.load()},scope:this};GO.email.AccountsDialog.superclass.constructor.call(this,a)};Ext.extend(GO.email.AccountsDialog,Ext.Window,{});GO.email.AccountsGrid=function(a){if(!a){a={}}a.layout="fit";a.border=false;a.autoScroll=true;a.store=new GO.data.JsonStore({url:GO.settings.modules.email.url+"json.php",baseParams:{task:"accounts"},root:"results",totalProperty:"total",id:"id",fields:["id","email","host","user_name","username","smtp_host"],remoteSort:true,sortInfo:{field:"email",direction:"ASC"}});a.paging=true;var b=new Ext.grid.ColumnModel({defaults:{sortable:true},columns:[{header:GO.lang.strEmail,dataIndex:"email"},{header:GO.lang.strUsername,dataIndex:"username"},{header:GO.lang.strOwner,dataIndex:"user_name",sortable:false},{header:GO.email.lang.host,dataIndex:"host"},{header:"SMTP",dataIndex:"smtp_host"}]});a.cm=b;a.view=new Ext.grid.GridView({autoFill:true,forceFit:true,emptyText:GO.lang.strNoItems});this.searchField=new GO.form.SearchField({store:a.store,width:320});a.tbar=[{iconCls:"btn-add",text:GO.lang.cmdAdd,cls:"x-btn-text-icon",handler:function(){this.showAccountDialog()},scope:this,disabled:!GO.settings.modules.email.write_permission},{iconCls:"btn-delete",text:GO.lang.cmdDelete,cls:"x-btn-text-icon",handler:function(){this.deleteSelected({callback:function(){if(GO.email.aliasesStore.loaded){GO.email.aliasesStore.reload()}this.fireEvent("delete",this)},scope:this})},scope:this,disabled:!GO.settings.modules.email.write_permission},"-",GO.lang.strSearch+":",this.searchField];a.sm=new Ext.grid.RowSelectionModel();a.loadMask=true;this.accountDialog=new GO.email.AccountDialog();this.accountDialog.on("save",function(){this.store.reload();if(GO.email.aliasesStore.loaded){GO.email.aliasesStore.reload()}},this);GO.email.AccountsGrid.superclass.constructor.call(this,a);this.addEvents({"delete":true});this.on("rowdblclick",function(d,e){var c=d.getStore().getAt(e);this.showAccountDialog(c.data.id)},this)};Ext.extend(GO.email.AccountsGrid,GO.grid.GridPanel,{showAccountDialog:function(a){this.accountDialog.show(a)}});GO.email.MessagesGrid=function(a){if(!a){a={}}a.layout="fit";a.autoScroll=true;a.paging=true;if(a.region=="north"){this.searchtypeWidth=150;this.searchfieldWidth=320;a.cm=new Ext.grid.ColumnModel({defaults:{sortable:true},columns:[{header:"&nbsp;",width:50,dataIndex:"icon",renderer:this.renderIcon,hideable:false,sortable:false},{header:GO.email.lang.from,dataIndex:"from",id:"from",width:200},{header:GO.email.lang.subject,dataIndex:"subject",width:200},{header:GO.lang.strDate,dataIndex:"date",width:65,align:"right"},{header:GO.lang.strSize,dataIndex:"size",width:65,align:"right",hidden:true,renderer:Ext.util.Format.fileSize}]});a.view=new Ext.grid.GridView({emptyText:GO.lang.strNoItems,getRowClass:function(d,c){if(d.data["new"]=="1"){return"ml-new-row"}}})}else{this.searchtypeWidth=120;this.searchfieldWidth=150;a.cm=new Ext.grid.ColumnModel({defaults:{sortable:true},columns:[{header:"&nbsp;",width:46,dataIndex:"icon",renderer:this.renderIcon,hideable:false,sortable:false},{header:GO.email.lang.message,dataIndex:"from",renderer:this.renderMessage,css:"white-space:normal;",id:"message"},{header:GO.lang.strDate,dataIndex:"date",width:65,align:"right"},{header:GO.lang.strSize,dataIndex:"size",width:65,align:"right",hidden:true,renderer:Ext.util.Format.fileSize}]});a.bbar=new Ext.PagingToolbar({cls:"go-paging-tb",store:a.store,pageSize:parseInt(GO.settings.max_rows_list),displayInfo:true,displayMsg:GO.lang.displayingItemsShort,emptyMsg:GO.lang.strNoItems});a.autoExpandColumn="message";a.view=new Ext.grid.GridView({emptyText:GO.lang.strNoItems})}a.sm=new Ext.grid.RowSelectionModel();a.loadMask=true;a.border=false;a.split=true;a.header=false;a.enableDragDrop=true;a.ddGroup="EmailDD";a.animCollapse=false;this.searchType=new GO.form.ComboBox({width:this.searchtypeWidth,store:new Ext.data.SimpleStore({fields:["value","text"],data:[["any",GO.email.lang.anyField],["from",GO.email.lang.searchFrom],["subject",GO.email.lang.subject],["to",GO.email.lang.searchTo],["cc",GO.email.lang.searchCC]]}),value:GO.email.search_type_default,valueField:"value",displayField:"text",mode:"local",triggerAction:"all",editable:false,selectOnFocus:true,forceSelection:true});this.searchField=new GO.form.SearchField({store:a.store,paramName:"search",emptyText:GO.lang.strSearch,width:this.searchfieldWidth});this.showUnreadButton=new Ext.Button({text:GO.email.lang.showUnread,enableToggle:true,toggleHandler:this.toggleUnread,pressed:false,style:"margin-left:10px"});if(!a.hideSearch){a.tbar=[this.searchType,this.searchField,this.showUnreadButton]}GO.email.MessagesGrid.superclass.constructor.call(this,a);var b=this.getBottomToolbar().refresh.handler;this.getBottomToolbar().refresh.handler=function(){this.store.baseParams.refresh=true;b.call(this);delete this.store.baseParams.refresh};this.searchType.on("select",function(d,c){GO.email.search_type=c.data.value;if(this.searchField.getValue()){GO.email.messagesGrid.store.baseParams.search=this.searchField.getValue();this.searchField.hasSearch=true;GO.email.messagesGrid.store.reload()}},this)};Ext.extend(GO.email.MessagesGrid,GO.grid.GridPanel,{show:function(){if(GO.email.messagesGrid.store.baseParams.unread!=undefined){this.showUnreadButton.toggle(GO.email.messagesGrid.store.baseParams.unread)}if(!GO.email.search_type){GO.email.search_type=GO.email.search_type_default}this.setSearchFields(GO.email.search_type,GO.email.search_query);GO.email.MessagesGrid.superclass.show.call(this)},resetSearch:function(){GO.email.search_type=GO.email.search_type_default;GO.email.search_query="";this.setSearchFields(GO.email.search_type,GO.email.search_query)},setSearchFields:function(a,b){this.searchType.setValue(a);this.searchField.setValue(b);this.searchField.hasSearch=(b)?true:false},toggleUnread:function(a,b){GO.email.messagesGrid.store.baseParams.unread=b;GO.email.messagesGrid.store.load()},renderMessageSmallRes:function(b,c,a){if(a.data["new"]=="1"){return String.format('<div id="sbj_'+a.data.uid+'" class="NewSubject">{0}</div>{1}',b,a.data.subject)}else{return String.format('<div id="sbj_'+a.data.uid+'" class="Subject">{0}</div>{1}',b,a.data.subject)}},renderMessage:function(b,c,a){if(a.data["new"]=="1"){return String.format('<div id="sbj_'+a.data.uid+'" class="NewSubject">{0}</div>{1}',b,a.data.subject)}else{return String.format('<div id="sbj_'+a.data.uid+'" class="Subject">{0}</div>{1}',b,a.data.subject)}},renderIcon:function(e,c,b){var d="";var a="email-grid-icon ";if(b.data.answered=="1"&&b.data.forwarded=="1"){a+="btn-message-answered-and-forwarded"}else{if(b.data.answered=="1"){a+="btn-message-answered"}else{if(b.data.forwarded=="1"){a+="btn-message-forwarded"}else{a+="btn-message"}}}d+='<div class="'+a+'"></div>';if(b.data.attachments=="1"){d+='<div class="email-grid-icon ml-icon-attach"></div>'}else{}if(b.data.priority){if(b.data.priority<3){d+='<div class="email-grid-icon btn-high-priority"></div>'}if(b.data.priority>3){d+='<div class="email-grid-icon btn-low-priority"></div>'}}if(b.data.flagged==1){d+='<div class="email-grid-icon btn-flag"></div>'}return d},renderFlagged:function(b,c,a){var d="";if(a.data.flagged==1){d+='<div class="go-icon btn-flag"></div>'}if(a.data.attachments){d+='<div class="go-icon btn-attach"></div>'}return d}});GO.email.AccountsTree=function(b){if(!b){b={}}b.layout="fit";b.split=true;b.autoScroll=true;b.width=200;b.animate=true;b.loader=new Ext.tree.TreeLoader({dataUrl:GO.settings.modules.email.url+"json.php",baseParams:{task:"tree"},preloadChildren:true});b.loader.on("load",function(d,c){c.attributes.parentExpanded=true},this);b.containerScroll=true;b.rootVisible=false;b.collapseFirst=false;b.collapsible=true;b.collapseMode="mini";b.header=false;b.ddAppendOnly=true;b.containerScroll=true;b.enableDD=true;b.ddGroup="EmailDD";b.bbar=new Ext.Toolbar({cls:"go-paging-tb",items:[this.statusBar=new Ext.Panel({height:20,baseCls:"em-statusbar",border:false,plain:true})]});GO.email.AccountsTree.superclass.constructor.call(this,b);var a=new Ext.tree.AsyncTreeNode({text:"Root",id:"bs-folder-0",draggable:false,iconCls:"folder-default",expanded:false});this.setRootNode(a);this.on("nodedragover",function(c){if(c.dropNode){if(c.source.dragData.node.id.indexOf("account")>-1&&c.target.id.indexOf("account")>-1){if(c.point!="append"){return true}else{c.target.collapse()}}if(c.point!="append"){return false}return((this.getNodeById(c.dropNode.id).parentNode.id!=c.target.id)&&(c.source.dragData.node.attributes.account_id==c.target.attributes.account_id))}else{if(c.point!="append"){return false}else{return true}}},this)};Ext.extend(GO.email.AccountsTree,Ext.tree.TreePanel,{setUsage:function(a){this.statusBar.body.update(a)},moveFolder:function(b,a,c){Ext.Ajax.request({url:GO.settings.modules.email.url+"action.php",params:{task:"move_folder",account_id:b,source_id:c.id,target_id:a},callback:function(e,h,d){var g=Ext.decode(d.responseText);if(g.success){delete c.parentNode.attributes.children;c.parentNode.reload()}else{var f=this.getNodeById("account_"+b);if(f){f.reload()}Ext.MessageBox.alert(GO.lang.strError,g.feedback)}},scope:this})}});GO.email.UnknownRecipientsDialog=Ext.extend(Ext.Window,{initComponent:function(){this.store=new GO.data.JsonStore({root:"recipients",fields:["email","name","first_name","middle_name","last_name"]});var a=new Ext.ux.grid.RowActions({header:"",hideMode:"display",keepSelection:true,actions:[{iconCls:"btn-add",qtip:GO.lang.cmdAdd},{iconCls:"btn-edit",qtip:GO.lang.cmdEdit}],width:50});a.on({action:function(b,f,e,j,c){var g=f.data.email;var i=g.lastIndexOf(".");if(i){var d=g.substring(i+1,g.length).toUpperCase();if(GO.lang.countries[d]){f.data.country=d}}if(e=="btn-add"){GO.addressbook.showContactDialog();GO.addressbook.contactDialog.formPanel.form.setValues(f.data)}else{if(!GO.email.findContactDialog){GO.email.findContactDialog=new GO.email.FindContactDialog()}GO.email.findContactDialog.show(f.data)}var h=b.getStore();h.remove(f);if(h.getCount()==0){this.hide()}},scope:this});this.grid=new GO.grid.GridPanel({store:this.store,plugins:a,border:false,region:"center",loadMask:true,columns:[{header:GO.lang.strName,dataIndex:"name"},{header:GO.lang.strEmail,dataIndex:"email"},a],sm:new Ext.grid.RowSelectionModel({singleSelect:false}),view:new Ext.grid.GridView({forceFit:true,autoFill:true})});this.title=GO.email.lang.addUnknownRecipients;this.layout="fit";this.modal=false;this.height=400;this.width=600;this.closable=true;this.closeAction="hide";this.items=new Ext.Panel({autoScroll:true,layout:"border",items:[new Ext.Panel({border:false,region:"north",html:GO.email.lang.addUnknownRecipientsText,cls:"go-form-panel"}),this.grid,new Ext.Panel({border:false,region:"south",autoHeight:true,items:[this.skipUnknownRecipients=new Ext.form.Checkbox({boxLabel:GO.email.lang.skipUnknownRecipientsAction,hideLabel:true,checked:false,name:"skip_unknown_recipients",listeners:{check:function(c,b){GO.email.skipUnknownRecipients=b;Ext.Ajax.request({url:GO.settings.modules.email.url+"action.php",params:{checked:b,task:"save_skip_unknown_recipients"},scope:this})},scope:this}})],cls:"go-form-panel"})]});GO.email.UnknownRecipientsDialog.superclass.initComponent.call(this)}});GO.email.AddressbookDialog=function(b){Ext.apply(this,b);var a=Array();this.usersStore=new GO.data.JsonStore({url:GO.settings.modules.users.url+"non_admin_json.php",baseParams:{task:"users"},id:"id",root:"results",fields:["id","username","name","company","logins","lastlogin","registration_time","address","zip","city","state","country","phone","email","waddress","wzip","wcity","wstate","wcountry","wphone"],totalProperty:"total",remoteSort:true});this.usersSearchField=new GO.form.SearchField({store:this.usersStore,width:320});this.usersGrid=new GO.grid.GridPanel({title:GO.addressbook.lang.users,paging:true,border:false,store:this.usersStore,view:new Ext.grid.GridView({autoFill:true,forceFit:true}),columns:[{header:GO.lang.strName,dataIndex:"name",css:"white-space:normal;",sortable:true},{header:GO.lang.strEmail,dataIndex:"email",css:"white-space:normal;",sortable:true}],sm:new Ext.grid.RowSelectionModel(),tbar:[GO.lang.strSearch+": "," ",this.usersSearchField]});this.usersGrid.on("show",function(){this.usersStore.load()},this);a.push(this.usersGrid);this.userGroupsStore=new GO.data.JsonStore({url:GO.settings.modules.groups.url+"non_admin_json.php",baseParams:{task:"groups",for_mail:1},id:"id",root:"results",fields:["id","name","user_id","user_name"],totalProperty:"total",remoteSort:true});this.userGroupsGrid=new GO.grid.GridPanel({title:GO.email.lang.groups,paging:true,border:false,store:this.userGroupsStore,view:new Ext.grid.GridView({autoFill:true,forceFit:true}),columns:[{header:GO.lang.strName,dataIndex:"name",css:"white-space:normal;",sortable:true},{header:GO.lang.strOwner,dataIndex:"user_name",css:"white-space:normal;",sortable:true}],sm:new Ext.grid.RowSelectionModel()});this.userGroupsGrid.on("show",function(){this.userGroupsStore.load()},this);a.push(this.userGroupsGrid);if(GO.addressbook){this.contactsGrid=new GO.email.ContactsGrid({title:GO.addressbook.lang.contacts});this.contactsGrid.on("show",function(){this.contactsGrid.store.load()},this);this.companiesStore=new GO.data.JsonStore({url:GO.settings.modules.addressbook.url+"json.php",baseParams:{task:"companies",require_email:true},root:"results",id:"id",totalProperty:"total",fields:["id","name","city","email","phone","homepage","address","zip"],remoteSort:true});this.companySearchField=new GO.form.SearchField({store:this.companiesStore,width:320});this.companyGrid=new GO.grid.GridPanel({title:GO.addressbook.lang.companies,paging:true,border:false,store:this.companiesStore,view:new Ext.grid.GridView({autoFill:true,forceFit:true}),columns:[{header:GO.lang.strName,dataIndex:"name",css:"white-space:normal;",sortable:true},{header:GO.lang.strEmail,dataIndex:"email",css:"white-space:normal;",sortable:true}],sm:new Ext.grid.RowSelectionModel(),tbar:[GO.lang.strSearch+": "," ",this.companySearchField]});this.companyGrid.on("show",function(){this.companiesStore.load()},this);a.push(this.contactsGrid);a.push(this.companyGrid)}if(GO.mailings){this.mailingsGrid=new GO.grid.GridPanel({title:GO.mailings.lang.cmdPanelMailings,paging:false,border:false,store:GO.mailings.readableMailingsStore,view:new Ext.grid.GridView({autoFill:true,forceFit:true}),columns:[{header:GO.lang.strName,dataIndex:"name",css:"white-space:normal;",sortable:true}],sm:new Ext.grid.RowSelectionModel()});this.mailingsGrid.on("show",function(){if(!GO.mailings.readableMailingsStore.loaded){GO.mailings.readableMailingsStore.load()}},this);a.push(this.mailingsGrid)}this.tabPanel=new Ext.TabPanel({activeTab:0,items:a,border:false});GO.email.AddressbookDialog.superclass.constructor.call(this,{layout:"fit",modal:false,height:400,width:600,closeAction:"hide",title:GO.addressbook.lang.addressbook,items:this.tabPanel,buttons:[{text:GO.email.lang.addToRecipients,handler:function(){this.addRecipients("to")},scope:this},{text:GO.email.lang.addToCC,handler:function(){this.addRecipients("cc")},scope:this},{text:GO.email.lang.addToBCC,handler:function(){this.addRecipients("bcc")},scope:this},{text:GO.lang.cmdClose,handler:function(){this.hide()},scope:this}]});this.addEvents({addrecipients:true})};Ext.extend(GO.email.AddressbookDialog,Ext.Window,{addRecipients:function(f){var g="";var e=this.tabPanel.getLayout().activeItem;var c=e.selModel.getSelections();if(this.mailingsGrid&&e==this.mailingsGrid){var d=[];for(var b=0;b<c.length;b++){d.push(c[b].data.id)}this.el.mask(GO.lang.waitMsgLoad);Ext.Ajax.request({url:GO.settings.modules.mailings.url+"json.php",params:{task:"mailing_group_string",mailing_groups:d.join(",")},callback:function(j,k,i){g=i.responseText;this.fireEvent("addrecipients",f,g);this.el.unmask()},scope:this})}else{if(e==this.userGroupsGrid){var a=[];for(var b=0;b<c.length;b++){a.push(c[b].data.id)}this.el.mask(GO.lang.waitMsgLoad);Ext.Ajax.request({url:GO.settings.modules.groups.url+"non_admin_json.php",params:{task:"user_groups_string",user_groups:a.join(",")},callback:function(j,k,i){g=i.responseText;this.fireEvent("addrecipients",f,g);this.el.unmask()},scope:this})}else{var h=[];for(var b=0;b<c.length;b++){h.push('"'+c[b].data.name+'" <'+c[b].data.email+">")}g=h.join(", ");this.fireEvent("addrecipients",f,g)}}}});GO.email.EmailComposer=function(s){Ext.apply(s);this.cls="em-composer";var j=Ext.id();var o=[this.notifyCheck=new Ext.menu.CheckItem({text:GO.email.lang.notification,checked:false,checkHandler:function(e,t){this.sendParams.notification=t?"true":"false"},scope:this}),"-",'<div class="menu-title">'+GO.email.lang.priority+"</div>",{text:GO.email.lang.high,checked:false,group:j,checkHandler:function(){this.sendParams.priority="1"},scope:this},this.normalPriorityCheck=new Ext.menu.CheckItem({text:GO.email.lang.normal,checked:true,group:j,checkHandler:function(){this.sendParams.priority="3"},scope:this}),{text:GO.email.lang.low,checked:false,group:j,checkHandler:function(){this.sendParams.priority="5"},scope:this},"-",this.htmlCheck=new Ext.menu.CheckItem({text:GO.email.lang.htmlMarkup,checked:GO.email.useHtmlMarkup,listeners:{checkchange:function(e,u){if(this.bodyContentAtWindowOpen==this.editor.getValue()||confirm(GO.email.lang.confirmLostChanges)){this.setContentTypeHtml(u);this.showConfig.keepEditingMode=true;var t=this.formPanel.form.getValues();delete t.body;delete t.textbody;if(!this.showConfig.values){this.showConfig.values={}}Ext.apply(this.showConfig.values,t);delete this.showConfig.move;this.show(this.showConfig)}else{e.setChecked(!u,true)}},scope:this}})];if(GO.gnupg){o.push("-");o.push(this.encryptCheck=new Ext.menu.CheckItem({text:GO.gnupg.lang.encryptMessage,checked:false,listeners:{checkchange:function(e,t){if(this.formPanel.baseParams.content_type=="html"){if(!confirm(GO.gnupg.lang.confirmChangeToText)){e.setChecked(!t,true);return false}else{this.setContentTypeHtml(false);this.htmlCheck.setChecked(false,true);this.showConfig.keepEditingMode=true;this.show(this.showConfig)}}this.htmlCheck.setDisabled(t);this.sendParams.encrypt=t?"1":"0";return true},scope:this}}))}this.optionsMenu=new Ext.menu.Menu({items:o});this.showMenu=new Ext.menu.Menu({items:[this.formFieldCheck=new Ext.menu.CheckItem({text:GO.email.lang.sender,checked:true,checkHandler:this.onShowFieldCheck,scope:this}),this.ccFieldCheck=new Ext.menu.CheckItem({text:GO.email.lang.ccField,checked:false,checkHandler:this.onShowFieldCheck,scope:this}),this.bccFieldCheck=new Ext.menu.CheckItem({text:GO.email.lang.bccField,checked:false,checkHandler:this.onShowFieldCheck,scope:this})]});var r=[];var f=deconcept.SWFObjectUtil.getPlayerVersion();if(!GO.settings.config.disable_flash_upload&&f.major>0){r.push({iconCls:"btn-computer",text:GO.email.lang.attachFilesPC,handler:function(){if(!this.uploadFlashDialog){var e=Math.floor(GO.settings.config.max_attachment_size/1048576)+"MB";this.uploadFlashDialog=new GO.UploadFlashDialog({uploadPanel:new Ext.ux.SwfUploadPanel({post_params:{task:"upload_attachment"},upload_url:GO.settings.modules.email.url+"action.php",labelWidth:110,file_size_limit:e,single_file_select:false,confirm_delete:false,remove_completed:false}),title:GO.email.lang.attachments});this.uploadFlashDialog.on("fileUploadSuccess",function(v,t,u){this.attachmentsStore.loadData({results:u.file},true)},this)}this.uploadFlashDialog.show()},scope:this})}else{this.uploadForm=new GO.UploadPCForm({waitMsgTarget:this.getId(),baseParams:{task:"attach_file"},addText:GO.email.lang.attachFilesPC,url:GO.settings.modules.email.url+"action.php"});this.uploadForm.on("upload",function(u,t){this.attachmentsStore.loadData({results:t},true);this.attachmentMenu.hide()},this);r.push(this.uploadForm)}if(GO.files){r.push({iconCls:"btn-groupoffice",text:GO.email.lang.attachFilesGO.replace("{product_name}",GO.settings.config.product_name),handler:function(){if(GO.files){GO.files.createSelectFileBrowser();GO.selectFileBrowser.setFileClickHandler(this.addRemoteFiles,this);GO.selectFileBrowser.setFilesFilter("");GO.selectFileBrowser.setRootID(0,0);GO.selectFileBrowserWindow.show()}},scope:this})}r.push("-");r.push({text:GO.email.lang.attachFilesPC+" (Java)",handler:function(){if(!deployJava.isWebStartInstalled("1.5.0")){Ext.MessageBox.alert(GO.lang.strError,GO.lang.noJava)}else{GO.attachmentsStore=this.attachmentsStore;GO.util.popup({url:GO.settings.modules.email.url+"jupload/index.php",width:660,height:500,target:"jupload"})}},scope:this});this.attachmentMenu=new Ext.menu.Menu({items:r});var q=new GO.plugins.HtmlEditorImageInsert();q.on("insert",function(u,v,t,e,w){this.inline_attachments.push({tmp_file:w||v,url:t,temp:e})},this);var b=new GO.plugins.HtmlEditorSpellCheck(this);var g=new Ext.ux.form.HtmlEditor.Word();var d=new Ext.ux.form.HtmlEditor.HR();var h=new Ext.ux.form.HtmlEditor.IndentOutdent();var i=new Ext.ux.form.HtmlEditor.SubSuperScript();var c=new Ext.ux.form.HtmlEditor.RemoveFormat();var l=[this.fromCombo=new Ext.form.ComboBox({store:GO.email.aliasesStore,fieldLabel:GO.email.lang.from,name:"alias_name",anchor:"100%",displayField:"name",valueField:"id",hiddenName:"alias_id",forceSelection:true,triggerAction:"all",mode:"local",tpl:'<tpl for="."><div class="x-combo-list-item">{name:htmlEncode}</div></tpl>',listeners:{beforeselect:function(t,x){var v=t.store.getById(t.getValue());var u=v.get(this.formPanel.baseParams.content_type+"_signature");var w=x.get(this.formPanel.baseParams.content_type+"_signature");var e=this.editor.getValue();if(this.formPanel.baseParams.content_type=="html"){e=e.replace(/<br>/g,"<br />")}if(GO.util.empty(u)){this.addSignature(x)}else{this.editor.setValue(e.replace(u,w))}},scope:this}}),this.toCombo=new GO.form.ComboBoxMulti({sep:",",fieldLabel:GO.email.lang.sendTo,name:"to",anchor:"100%",height:50,store:new Ext.data.JsonStore({url:BaseHref+"json.php",baseParams:{task:"email"},fields:["full_email","info"],root:"persons"}),valueField:"full_email",displayField:"info"}),this.ccCombo=new GO.form.ComboBoxMulti({sep:",",fieldLabel:GO.email.lang.cc,name:"cc",anchor:"100%",height:50,store:new Ext.data.JsonStore({url:BaseHref+"json.php",baseParams:{task:"email"},fields:["full_email"],root:"persons"}),displayField:"full_email",hideTrigger:true,minChars:2,triggerAction:"all",selectOnFocus:false}),this.bccCombo=new GO.form.ComboBoxMulti({sep:",",fieldLabel:GO.email.lang.bcc,name:"bcc",anchor:"100%",height:50,store:new Ext.data.JsonStore({url:BaseHref+"json.php",baseParams:{task:"email"},fields:["full_email"],root:"persons"}),displayField:"full_email",hideTrigger:true,minChars:2,triggerAction:"all",selectOnFocus:false})];var k=-113;if(GO.settings.modules.savemailas&&GO.settings.modules.savemailas.read_permission){if(!this.selectLinkField){this.selectLinkField=new GO.form.SelectLink({anchor:"100%"});k+=26;l.push(this.selectLinkField)}}try{if(s&&s.links){if(!this.selectLinkField){this.selectLinkField=new GO.form.SelectLink({anchor:"100%"});k+=26;l.push(this.selectLinkField)}}}catch(p){}l.push(this.subjectField=new Ext.form.TextField({fieldLabel:GO.email.lang.subject,name:"subject",anchor:"100%"}));var m=[q];if(GO.email.pspellSupport){m.push(b)}m.push(g,d,h,c,i);l.push(this.htmlEditor=new Ext.form.HtmlEditor({hideLabel:true,name:"body",style:"font: 12px Arial, Helvetica, sans-serif;",anchor:"100% "+k,plugins:m,defaultFont:"arial",listeners:{activate:function(){var e=this.htmlEditor.getDoc();if(Ext.isGecko){Ext.EventManager.on(e,{keypress:this.fireSubmit,scope:this})}if(Ext.isIE||Ext.isWebKit||Ext.isOpera){Ext.EventManager.on(e,"keydown",this.fireSubmit,this)}},scope:this},onFirstFocus:function(){this.activated=true;this.disableItems(this.readOnly);if(Ext.isGecko){try{this.execCmd("useCSS",true);this.execCmd("styleWithCSS",false)}catch(t){}}this.fireEvent("activate",this)},createToolbar:Ext.form.HtmlEditor.prototype.createToolbar.createSequence(function(e){this.tb.enableOverflow=true}),getDocMarkup:function(){var e=Ext.fly(this.iframe).getHeight()-this.iframePad*2;return String.format('<html><head><style type="text/css">body{border: 0; margin: 0; padding: {0}px; height: {1}px; cursor: text}body p{margin:0px;}</style></head><body></body></html>',this.iframePad,e)},fixKeys:function(){if(Ext.isIE){return function(w){var t=w.getKey(),v=this.getDoc(),u;if(t==w.TAB){w.stopEvent();u=v.selection.createRange();if(u){u.collapse(true);u.pasteHTML("&nbsp;&nbsp;&nbsp;&nbsp;");this.deferFocus()}}else{if(t==w.ENTER){}}}}else{if(Ext.isOpera){return function(u){var t=u.getKey();if(t==u.TAB){u.stopEvent();this.win.focus();this.execCmd("InsertHTML","&nbsp;&nbsp;&nbsp;&nbsp;");this.deferFocus()}}}else{if(Ext.isWebKit){return function(v){var t=v.getKey();if(t==v.TAB){v.stopEvent();this.execCmd("InsertText","\t");this.deferFocus()}else{if(t==v.ENTER){v.stopEvent();var u=this.getDoc();if(u.queryCommandState("insertorderedlist")||u.queryCommandState("insertunorderedlist")){this.execCmd("InsertHTML","</li><br /><li>")}else{this.execCmd("InsertHtml","<br />&nbsp;");this.execCmd("delete")}this.deferFocus()}}}}}}}(),updateToolbar:function(){if(this.readOnly){return}if(!this.activated){this.onFirstFocus();return}var t=this.tb.items.map,u=this.getDoc();if(this.enableFont&&!Ext.isSafari2){var e=(u.queryCommandValue("FontName")||this.defaultFont).toLowerCase();if(e!=this.fontSelect.dom.value){this.fontSelect.dom.value=e}}if(this.enableFormat){t.bold.toggle(u.queryCommandState("bold"));t.italic.toggle(u.queryCommandState("italic"));t.underline.toggle(u.queryCommandState("underline"))}if(this.enableAlignments){t.justifyleft.toggle(u.queryCommandState("justifyleft"));t.justifycenter.toggle(u.queryCommandState("justifycenter"));t.justifyright.toggle(u.queryCommandState("justifyright"))}if(!Ext.isSafari2&&this.enableLists){t.insertorderedlist.toggle(u.queryCommandState("insertorderedlist"));t.insertunorderedlist.toggle(u.queryCommandState("insertunorderedlist"))}Ext.menu.MenuMgr.hideAll();GO.hasFocus=true}}));l.push(this.textEditor=new Ext.form.TextArea({name:"textbody",anchor:"100% "+k,hideLabel:true,cls:"em-plaintext-body-field"}));this.attachmentsId=Ext.id();this.attachmentsStore=new Ext.data.JsonStore({url:GO.settings.modules.email.url+"json.php",baseParams:{task:"attachments"},root:"results",fields:["tmp_name","name","size","type","extension","human_size"],id:"tmp_name"});this.attachmentsStore.on("remove",function(){},this);this.attachmentsStore.on("load",function(){if(!this.attachmentsView.isVisible()&&this.attachmentsStore.data.length){this.attachmentsView.show()}this.setEditorHeight()},this);this.attachmentsView=new Ext.DataView({store:this.attachmentsStore,tpl:new Ext.XTemplate(GO.email.lang.attachments+':<tpl for=".">','<div style="overflow-x:hidden" id="'+this.attachmentsId+'" tabindex="0" class="em-attachments-container" ><span class="filetype-link filetype-{extension} attachment-wrap x-unselectable" unselectable="on" style="float:left" id="{tmp_name}">{name} ({human_size})</span></tpl></div>','<div class="x-clear"></div>'),multiSelect:true,autoHeight:true,autoScroll:true,overClass:"x-view-over",hidden:true,itemSelector:"span.attachment-wrap",listeners:{contextmenu:this.onAttachmentContextMenu,dblclick:this.downloadTemporaryAttachment,scope:this,render:function(){this.attachmentsView.getEl().tabIndex=0;var e=new Ext.KeyMap(this.attachmentsView.getEl(),{key:Ext.EventObject.DELETE,fn:function(t,u){this.removeSelectedAttachments()},scope:this})}}});l.push(this.attachmentsView);this.formPanel=new Ext.form.FormPanel({border:false,labelWidth:100,waitMsgTarget:true,baseParams:{content_type:"html"},cls:"go-form-panel",defaultType:"textfield",items:l,keys:[{key:Ext.EventObject.ENTER,ctrl:true,fn:function(t,u){this.sendMail(false,false)},scope:this}]});this.formPanel.form.timeout=3000;this.htmlEditor.on("push",function(){this.bodyContentAtWindowOpen=this.htmlEditor.getValue()},this,{single:true});if(GO.mailings){this.templatesStore=new GO.data.JsonStore({url:GO.settings.modules.mailings.url+"json.php",baseParams:{task:"authorized_templates"},root:"results",totalProperty:"total",id:"id",fields:["id","name","group","text","template_id","checked"],remoteSort:true})}var a=[this.sendButton=new Ext.Button({text:GO.email.lang.send,iconCls:"btn-send",handler:function(){this.sendMail()},scope:this}),this.saveButton=new Ext.Button({iconCls:"btn-save",text:GO.lang.cmdSave,handler:function(){this.sendMail(true)},scope:this}),{text:GO.email.lang.extraOptions,iconCls:"btn-settings",menu:this.optionsMenu},this.showMenuButton=new Ext.Button({text:GO.email.lang.show,iconCls:"btn-show",menu:this.showMenu})];this.attachmentsButton=new Ext.Button({text:GO.email.lang.attachments,iconCls:"btn-attach",menu:this.attachmentMenu});a.push(this.attachmentsButton);if(GO.addressbook){a.push({text:GO.addressbook.lang.addressbook,iconCls:"btn-addressbook",handler:function(){if(!this.addressbookDialog){this.addressbookDialog=new GO.email.AddressbookDialog();this.addressbookDialog.on("addrecipients",function(t,e){this.addRecipients(t,e)},this)}this.addressbookDialog.show()},scope:this})}if(GO.mailings){a.push(this.templatesBtn=new Ext.Button({iconCls:"ml-btn-mailings",text:GO.mailings.lang.emailTemplate,menu:this.templatesMenu=new GO.menu.JsonMenu({store:this.templatesStore,listeners:{scope:this,itemclick:function(t,u){if(t.template_id=="default"){this.templatesStore.baseParams.default_template_id=this.showConfig.template_id;this.templatesStore.load();delete this.templatesStore.baseParams.default_template_id}else{if(this.bodyContentAtWindowOpen==this.editor.getValue()||confirm(GO.email.lang.confirmLostChanges)){this.showConfig.template_id=t.template_id;this.showConfig.keepEditingMode=true;this.show(this.showConfig)}else{return false}}}}})}))}var n=function(){this.toCombo.focus()};GO.email.EmailComposer.superclass.constructor.call(this,{title:GO.email.lang.composeEmail,width:750,height:500,minWidth:300,minHeight:200,layout:"fit",maximizable:true,collapsible:true,animCollapse:false,closeAction:"hide",buttonAlign:"center",focus:n.createDelegate(this),tbar:a,items:this.formPanel});this.addEvents({zipOfAttachmentsDblClicked:true,send:true,reset:true,afterShowAndLoad:true,beforesendmail:true})};Ext.extend(GO.email.EmailComposer,GO.Window,{stateId:"email-composer",showConfig:{},autoSaveTask:{},lastAutoSave:false,bodyContentAtWindowOpen:false,removeSelectedAttachments:function(){var a=this.attachmentsView.getSelectedRecords();for(var b=0;b<a.length;b++){this.attachmentsStore.remove(a[b])}this.attachmentsView.setVisible(this.attachmentsStore.data.length);this.setEditorHeight()},fireSubmit:function(a){if(a.ctrlKey&&Ext.EventObject.ENTER==a.getKey()){this.sendMail(false,false)}},isHTML:function(){if(this.formPanel.baseParams.content_type=="html"){return true}else{return false}},setContentTypeHtml:function(a){this.formPanel.baseParams.content_type=a?"html":"plain";this.htmlEditor.getEl().up(".x-form-item").setDisplayed(a);this.textEditor.getEl().up(".x-form-item").setDisplayed(!a);this.editor=a?this.htmlEditor:this.textEditor},autoSave:function(){if(GO.util.empty(this.sendParams.mailing_group_id)&&this.lastAutoSave&&this.lastAutoSave!=this.editor.getValue()){this.sendMail(true,true)}this.lastAutoSave=this.editor.getValue()},startAutoSave:function(){this.lastAutoSave=false;Ext.TaskMgr.start(this.autoSaveTask)},stopAutoSave:function(){Ext.TaskMgr.stop(this.autoSaveTask)},afterRender:function(){GO.email.EmailComposer.superclass.afterRender.call(this);this.autoSaveTask={run:this.autoSave,scope:this,interval:120000};this.on("hide",this.stopAutoSave,this);this.on("resize",function(){this.setEditorHeight()})},toComboVisible:true,reset:function(a){if(!a){this.sendParams={task:"sendmail",inline_attachments:{},inline_temp_attachments:{},notification:"false",priority:"3",draft_uid:0};this.showCC((GO.email.showCCfield=="1")?true:false);this.showBCC((GO.email.showBCCfield=="1")?true:false);this.ccFieldCheck.setChecked((GO.email.showCCfield=="1")?true:false);this.bccFieldCheck.setChecked((GO.email.showBCCfield=="1")?true:false);if(this.defaultAcccountId){this.fromCombo.setValue(this.defaultAcccountId)}this.notifyCheck.setChecked(false);this.normalPriorityCheck.setChecked(true);this.attachmentsStore.removeAll();this.setEditorHeight()}else{this.sendParams={task:"sendmail",inline_attachments:{},inline_temp_attachments:{},notification:this.sendParams.notification,priority:this.sendParams.priority,draft_uid:this.sendParams.draft_uid,reply_uid:this.sendParams.reply_uid,reply_mailbox:this.sendParams.reply_mailbox,in_reply_to:this.sendParams.in_reply_to,forward_uid:this.sendParams.forward_uid,forward_mailbox:this.sendParams.forward_mailbox}}this.inline_attachments=[];this.inline_temp_attachments=[],this.formPanel.form.reset();this.htmlEditor.SpellCheck=false;this.fireEvent("reset",this)},showCC:function(a){this.ccCombo.getEl().up(".x-form-item").setDisplayed(a);if(a){this.ccCombo.onResize()}},showBCC:function(a){this.bccCombo.getEl().up(".x-form-item").setDisplayed(a);if(a){this.bccCombo.onResize()}},addRecipients:function(d,b){var c=this.formPanel.form.findField(d);var a=c.getValue();if(a!=""&&a.substring(a.length-1,a.length)!=","&&a.substring(a.length-2,a.length-1)!=","){a+=", "}a+=b;c.setValue(a);if(d=="cc"){this.ccFieldCheck.setChecked(true)}else{if(d=="bcc"){this.bccFieldCheck.setChecked(true)}}},show:function(c){delete this.link_config;this.showConfig=c;if(!this.rendered){Ext.Ajax.request({url:GO.settings.modules.email.url+"json.php",params:{task:"init_composer"},callback:function(k,m,j){if(!m){alert(GO.lang.strRequestError)}else{var l=Ext.decode(j.responseText);this.fromCombo.store.loadData(l.aliases);if(this.templatesStore){this.templatesStore.loadData(l.templates)}var i=this.fromCombo.store.getRange();if(i.length){if(!c.account_id){this.showConfig.account_id=i[0].data.account_id}this.render(Ext.getBody());this.show(this.showConfig);return}else{Ext.getBody().unmask();Ext.Msg.alert(GO.email.lang.noAccountTitle,GO.email.lang.noAccount)}}},scope:this});this.htmlEditor.SpellCheck=false}else{if(typeof(c.template_id)=="undefined"&&this.templatesStore){var f=this.templatesStore.findBy(function(i,j){return i.get("checked")});if(f>-1){c.template_id=this.templatesStore.getAt(f).get("template_id")}}if(this.templatesStore&&c.template_id&&this.templatesMenu.items){var e=this.templatesMenu.items.find(function(i){return i.template_id==c.template_id});e.setChecked(true)}this.reset(c.keepEditingMode);if(c.saveToPath){this.sendParams.save_to_path=c.saveToPath;this.sendButton.hide()}else{this.sendButton.show()}var b=-1;if(c.account_id){b=this.fromCombo.store.findBy(function(i,j){return i.get("account_id")==c.account_id})}if(c.from){b=this.fromCombo.store.findBy(function(i,j){return i.get("email")==c.from})}if(b==-1){b=0}this.fromCombo.setValue(this.fromCombo.store.data.items[b].id);if(c.values){this.formPanel.form.setValues(c.values)}if(!c.keepEditingMode){this.setContentTypeHtml(GO.email.useHtmlMarkup);this.htmlCheck.setChecked(GO.email.useHtmlMarkup,true);if(this.encryptCheck){this.encryptCheck.setChecked(false,true)}}this.toComboVisible=true;this.showMenuButton.setDisabled(false);this.toCombo.getEl().up(".x-form-item").setDisplayed(true);this.sendURL=GO.settings.modules.email.url+"action.php";this.saveButton.setDisabled(false);this.notifyCheck.setChecked(GO.email.alwaysRequestNotification);if(c.move){var h=this.getPosition();this.setPagePosition(h[0]+c.move,h[1]+c.move)}if(c.mailing_group_id>0){this.sendURL=GO.settings.modules.mailings.url+"action.php";this.toComboVisible=false;this.showMenuButton.setDisabled(true);this.toCombo.getEl().up(".x-form-item").setDisplayed(false);this.showCC(false);this.showBCC(false);this.sendParams.mailing_group_id=c.mailing_group_id;this.saveButton.setDisabled(true)}else{this.ccFieldCheck.setChecked(GO.email.showCCfield=="1");this.bccFieldCheck.setChecked(GO.email.showBCCfield=="1")}if(c.uid||c.template_id||c.loadUrl){if(!c.task){c.task="template"}if(c.task=="opendraft"){this.sendParams.draft_uid=c.uid}var d=this.fromCombo.store.getById(this.fromCombo.getValue());var g=c.loadParams?c.loadParams:{uid:c.uid,account_id:d.get("account_id"),task:c.task,mailbox:c.mailbox};if(c.contact_id){g.contact_id=c.contact_id}if(c.mailing_group_id>0){g.mailing_group_id=c.mailing_group_id}g.template_id=c.template_id;g.to=this.toCombo.getValue();var a=c.loadUrl?c.loadUrl:GO.settings.modules.email.url+"json.php";delete g.content_type;if(typeof(c.values)!="undefined"&&typeof(c.values.body)!="undefined"){g.body=c.values.body}this.formPanel.form.load({url:a,params:g,waitMsg:GO.lang.waitMsgLoad,failure:function(i,j){Ext.getBody().unmask();Ext.Msg.alert(GO.lang.strError,j.result.feedback)},success:function(i,j){if(c.task=="reply"||c.task=="reply_all"){this.sendParams.reply_uid=c.uid;this.sendParams.reply_mailbox=c.mailbox;this.sendParams.in_reply_to=j.result.data.in_reply_to}else{if(c.task=="forward"){this.sendParams.forward_uid=c.uid;this.sendParams.forward_mailbox=c.mailbox}}if(j.result.data.inline_attachments){this.inline_attachments=j.result.data.inline_attachments}if(!c.keepEditingMode&&j.result.data.attachments){this.attachmentsStore.loadData({results:j.result.data.attachments},true)}this.afterShowAndLoad(g.task!="opendraft",c)},scope:this})}else{this.afterShowAndLoad(true,c)}if(c.link_config){this.link_config=c.link_config;if(c.link_config.type_id&&typeof(this.selectLinkField)!="undefined"){this.selectLinkField.setValue(c.link_config.type_id);this.selectLinkField.setRemoteText(c.link_config.text)}}}},insertDefaultFont:function(){var b=this.htmlEditor.fontSelect.dom.value;var a=this.htmlEditor.getValue();if(a.toLowerCase().substring(0,5)!="<font"){if(a==""){a="<br />"}a='<font face="'+b+'">'+a+"</font>"}this.htmlEditor.setValue(a)},afterShowAndLoad:function(a,c){if(a){this.addSignature()}if(this.formPanel.baseParams.content_type=="plain"){this.editor.selectText(0,0)}else{this.insertDefaultFont()}this.setEditorHeight();this.startAutoSave();this.bodyContentAtWindowOpen=this.editor.getValue();var d=GO.email.showCCfield;var b=GO.email.showBCCfield;this.ccFieldCheck.setChecked(GO.email.showCCfield=="1"||this.ccCombo.getValue()!="");this.bccFieldCheck.setChecked(GO.email.showBCCfield=="1"||this.bccCombo.getValue()!="");delete this.sendParams.email_show_cc;delete this.sendParams.email_show_bcc;GO.email.showCCfield=d;GO.email.showBCCfield=b;if(c.afterLoad){if(!c.scope){c.scope=this}c.afterLoad.call(c.scope)}Ext.getBody().unmask();GO.email.EmailComposer.superclass.show.call(this);if(this.toCombo.getValue()==""){this.toCombo.focus()}else{this.editor.focus()}this.fireEvent("afterShowAndLoad",this)},addSignature:function(a){a=a||this.fromCombo.store.getById(this.fromCombo.getValue());var b=a.get(this.formPanel.baseParams.content_type+"_signature");if(!GO.util.empty(b)){if(this.formPanel.baseParams.content_type=="plain"){b="\n"+b+"\n"}else{b='<br /><div id="EmailSignature">'+b+"</div><br />"}}this.editor.setValue(b+this.editor.getValue())},showAttachmentsDialog:function(){if(!this.attachmentsDialog){var b=[];b.push({iconCls:"btn-add",text:GO.email.lang.attachFilesPC,cls:"x-btn-text-icon",handler:function(){this.uploadDialog.show()},scope:this});if(GO.files){b.push({iconCls:"btn-add",text:GO.email.lang.attachFilesGO.replace("{product_name}",GO.settings.config.product_name),cls:"x-btn-text-icon",handler:function(){GO.files.createSelectFileBrowser();GO.selectFileBrowser.setFileClickHandler(this.addRemoteFiles,this);GO.selectFileBrowser.setFilesFilter("");GO.selectFileBrowser.setRootID(0,0);GO.selectFileBrowserWindow.show()},scope:this})}b.push({iconCls:"btn-delete",text:GO.lang.cmdDelete,cls:"x-btn-text-icon",handler:function(){var d=this.attachmentsGrid.selModel.getSelections();for(var c=0;c<d.length;c++){this.attachmentsStore.remove(d[c])}},scope:this});this.attachmentsGrid=new GO.grid.GridPanel({store:this.attachmentsStore,loadMask:true,columns:[{header:GO.lang.strName,dataIndex:"name"},{header:GO.lang.strSize,dataIndex:"size",renderer:function(c){return Ext.util.Format.fileSize(c)}},{header:GO.lang.strType,dataIndex:"type"}],sm:new Ext.grid.RowSelectionModel({singleSelect:false}),view:new Ext.grid.GridView({forceFit:true,autoFill:true}),tbar:b});this.attachmentsDialog=new Ext.Window({title:GO.email.lang.attachments,layout:"fit",modal:false,closeAction:"hide",minWidth:300,minHeight:300,height:400,width:600,items:this.attachmentsGrid,buttons:[{text:GO.lang.cmdClose,handler:function(){this.attachmentsDialog.hide()},scope:this}]});var a=new GO.form.UploadFile({inputName:"attachments",addText:GO.lang.smallUpload});this.upForm=new Ext.form.FormPanel({fileUpload:true,waitMsgTarget:true,items:[a,new Ext.Button({text:GO.lang.largeUpload,handler:function(){if(!deployJava.isWebStartInstalled("1.5.0")){Ext.MessageBox.alert(GO.lang.strError,GO.lang.noJava)}else{window.open(GO.settings.modules.email.url+"jupload/index.php");this.uploadDialog.hide();GO.attachmentsStore=this.attachmentsStore}},scope:this})],cls:"go-form-panel"});this.uploadDialog=new Ext.Window({title:GO.email.lang.uploadAttachments,layout:"fit",modal:true,height:300,width:300,items:this.upForm,closeAction:"hide",buttons:[{text:GO.email.lang.startTransfer,handler:function(){this.upForm.form.submit({waitMsg:GO.lang.waitMsgUpload,url:GO.settings.modules.email.url+"action.php",params:{task:"attach_file"},success:function(c,d){this.attachmentsStore.loadData({results:d.result.files},true);a.clearQueue();this.uploadDialog.hide()},scope:this})},scope:this},{text:GO.lang.cmdClose,handler:function(){this.uploadDialog.hide()},scope:this}]})}this.attachmentsDialog.show()},addRemoteFiles:function(){var a=Ext.data.Record.create([{name:"tmp_name"},{name:"id"},{name:"name"},{name:"type"},{name:"size"},{name:"extension"},{name:"human_size"}]);var d=GO.selectFileBrowser.getSelectedGridRecords();for(var c=0;c<d.length;c++){var b=new a({id:d[c].data.id,tmp_name:d[c].data.id,name:d[c].data.name,type:d[c].data.type,size:d[c].data.size,extension:d[c].data.extension,human_size:(d[c].data.size=="-")?d[c].data.size:Ext.util.Format.fileSize(d[c].data.size)});b.id=d[c].data.path;this.attachmentsStore.add(b)}if(!this.attachmentsView.isVisible()&&this.attachmentsStore.data.length){this.attachmentsView.show();this.attachmentsEl=Ext.get(this.attachmentsId);this.attachmentsEl.on("contextmenu",this.onAttachmentContextMenu,this)}this.setEditorHeight();GO.selectFileBrowserWindow.hide()},HandleResult:function(a){if(a=="yes"){this.htmlEditor.SpellCheck=true;this.sendMail()}else{this.editor.plugins[1].spellcheck()}},submitForm:function(a){this.sendMail(false,false)},sendMail:function(c,e){if(this.sendButton.disabled){return false}if(!c&&!e&&!this.fireEvent("beforesendmail",this)){return false}if(this.uploadDialog&&this.uploadDialog.isVisible()){if(e){return false}alert(GO.email.lang.closeUploadDialog);this.attachmentsDialog.show();this.uploadDialog.show();return false}this.saveButton.setDisabled(true);this.sendButton.setDisabled(true);if(e||this.subjectField.getValue()!=""||confirm(GO.email.lang.confirmEmptySubject)){if(this.attachmentsDialog&&this.attachmentsDialog.isVisible()){this.attachmentsDialog.hide()}if(this.attachmentsStore&&this.attachmentsStore.data.keys.length){var b=[];var d=this.attachmentsStore.getRange();for(var f=0;f<d.length;f++){b.push(Ext.util.Format.htmlDecode(d[f].get("tmp_name")))}this.sendParams.attachments=Ext.encode(b)}this.sendParams.inline_attachments=Ext.encode(this.inline_attachments);this.sendParams.inline_temp_attachments=Ext.encode(this.inline_temp_attachments);this.sendParams.draft=c;this.htmlEditor.syncValue();var a=null;if(!e){a=c?GO.lang.waitMsgSave:GO.email.lang.sending}if(!e&&!c){this.stopAutoSave()}this.formPanel.form.submit({url:this.sendURL,params:this.sendParams,waitMsg:a,waitMsgTarget:e?null:this.formPanel.body,success:function(g,h){this.saveButton.setDisabled(false);this.sendButton.setDisabled(false);if(h.result.account_id){this.account_id=h.result.account_id}if(!c){if(this.callback){if(!this.scope){this.scope=this}var i=this.callback.createDelegate(this.scope);i.call()}if(GO.addressbook&&h.result.unknown_recipients&&h.result.unknown_recipients.length){if(!GO.email.unknownRecipientsDialog){GO.email.unknownRecipientsDialog=new GO.email.UnknownRecipientsDialog()}GO.email.unknownRecipientsDialog.store.loadData({recipients:h.result.unknown_recipients});GO.email.unknownRecipientsDialog.show()}if(this.link_config&&this.link_config.callback){this.link_config.callback.call(this)}this.fireEvent("send",this);this.hide()}else{this.sendParams.draft_uid=h.result.draft_uid;this.fireEvent("save",this)}},failure:function(h,i){if(!e){var g=i.result&&i.result.feedback?i.result.feedback:GO.lang.strRequestError;Ext.MessageBox.alert(GO.lang.strError,g)}this.saveButton.setDisabled(false);this.sendButton.setDisabled(false)},scope:this})}else{this.subjectField.focus();this.saveButton.setDisabled(false);this.sendButton.setDisabled(false)}},onShowFieldCheck:function(a,b){switch(a.id){case this.formFieldCheck.id:this.fromCombo.getEl().up(".x-form-item").setDisplayed(b);break;case this.ccFieldCheck.id:GO.email.showCCfield=(b)?"1":"0";this.sendParams.email_show_cc=GO.email.showCCfield;this.showCC(b);break;case this.bccFieldCheck.id:GO.email.showBCCfield=(b)?"1":"0";this.sendParams.email_show_bcc=GO.email.showBCCfield;this.showBCC(b);break}this.setEditorHeight()},setEditorHeight:function(){var d=this.subjectField.getEl().up(".x-form-item");var h=d.getHeight()+d.getMargins("tb");var g=this.attachmentsView.getEl();g.setHeight("auto");var j=g.getHeight();if(j>89){j=89;this.attachmentsView.getEl().setHeight(j)}h+=j+g.getMargins("tb");if(GO.settings.modules.savemailas&&GO.settings.modules.savemailas.read_permission){var f=this.selectLinkField.getEl().up(".x-form-item");h+=f.getHeight()+f.getMargins("tb")}if(this.toComboVisible){var a=this.toCombo.getEl().up(".x-form-item");h+=a.getHeight()+a.getMargins("tb")}var b;for(var c=0;c<this.showMenu.items.items.length;c++){if(this.showMenu.items.items[c].checked){if(c==0){b=this.fromCombo.getEl().up(".x-form-item")}else{b=this.toCombo.getEl().up(".x-form-item")}h+=b.getHeight()+b.getMargins("tb")}}h+=4;var e="100% -"+h;this.htmlEditor.anchor=e;delete this.htmlEditor.anchorSpec;this.textEditor.anchor=e;delete this.textEditor.anchorSpec;this.htmlEditor.syncSize();this.formPanel.doLayout()},downloadTemporaryAttachment:function(c,b,d,f){var a=c.store.getAt(b);if(!a.data.id){Ext.Ajax.request({url:GO.settings.modules.email.url+"json.php",params:{task:"create_download_hash",filename:a.data.name},callback:function(g,j,e){if(!j){alert(GO.lang.strRequestError)}else{var h=Ext.decode(e.responseText);var i=h.code;document.location=GO.settings.modules.email.url+"download_file.php?filename="+encodeURIComponent(a.data.name)+"&code="+i}},scope:this})}else{GO.files.openFile(a)}},onAttachmentContextMenu:function(b,a,c,d){if(!this.menu){this.menu=new Ext.menu.Menu({id:"email-attachmentsgrid-ctx",items:[{text:GO.lang.cmdDelete,scope:this,handler:function(){this.removeSelectedAttachments()}}]})}if(!this.attachmentsView.isSelected(c)){this.attachmentsView.select(c)}d.preventDefault();this.menu.showAt(d.getXY())}});GO.email.TemplatesList=function(b){Ext.apply(b);var a=new Ext.XTemplate('<div id="template-0" class="go-item-wrap">'+GO.mailings.lang.noTemplate+"</div>",'<tpl for=".">','<div id="template-{id}" class="go-item-wrap"">{name}</div>','<tpl if="!GO.util.empty(default_template)"><div class="ml-template-default-spacer"></div></tpl>',"</tpl>");GO.email.TemplatesList.superclass.constructor.call(this,{store:b.store,tpl:a,singleSelect:true,autoHeight:true,overClass:"go-view-over",itemSelector:"div.go-item-wrap",selectedClass:"go-view-selected"})};Ext.extend(GO.email.TemplatesList,Ext.DataView,{onRender:function(b,a){this.el=b.createChild({tag:"div",cls:"go-select-list"});GO.email.TemplatesList.superclass.onRender.apply(this,arguments)}});GO.email.AddressContextMenu=function(a){if(!a){a={}}a.shadow="frame";a.minWidth=180;this.composeButton=new Ext.menu.Item({iconCls:"btn-compose",text:GO.email.lang.compose,cls:"x-btn-text-icon",handler:function(){var b={to:this.address};this.queryString=decodeURI(this.queryString);var d=this.queryString.split("&");var e;for(var c=0;c<d.length;c++){e=d[c].split("=");if(e.length==2){b[e[0]]=e[1]}}GO.email.showComposer({values:b})},scope:this});this.searchButton=new Ext.menu.Item({iconCls:"btn-search",text:GO.email.lang.searchGO.replace("{product_name}",GO.settings.config.product_name),cls:"x-btn-text-icon",handler:function(){var b=new GO.grid.SearchPanel({query:this.address});GO.mainLayout.tabPanel.add(b);b.show()},scope:this});this.searchMessagesButton=new Ext.menu.Item({iconCls:"btn-search",text:GO.email.lang.searchOnSender,cls:"x-btn-text-icon",handler:function(){GO.email.searchSender(this.address)},scope:this});a.items=[this.composeButton,this.searchButton,this.searchMessagesButton];if(GO.addressbook){this.lookUpButton=new Ext.menu.Item({iconCls:"btn-addressbook",text:GO.addressbook.lang.searchOnSender,cls:"x-btn-text-icon",handler:function(){GO.addressbook.searchSender(this.address,this.personal)},scope:this});a.items.push(this.lookUpButton)}GO.email.AddressContextMenu.superclass.constructor.call(this,a)};Ext.extend(GO.email.AddressContextMenu,Ext.menu.Menu,{personal:"",address:"",showAt:function(c,a,b,d){this.queryString=d||"";this.address=a||"";this.personal=b||"";GO.email.AddressContextMenu.superclass.showAt.call(this,c)}});GO.email.AttachmentContextMenu=function(a){if(!a){a={}}a.shadow="frame";a.minWidth=180;this.downloadButton=new Ext.menu.Item({iconCls:"btn-download",text:GO.lang.download,cls:"x-btn-text-icon",handler:function(){this.emailClient.openAttachment(this.attachment,this.emailClient.messagePanel,true)},scope:this});a.items=[this.downloadButton];if(GO.files){this.saveButton=new Ext.menu.Item({iconCls:"btn-save",text:GO.lang.cmdSave,cls:"x-btn-text-icon",handler:function(){this.emailClient.saveAttachment(this.attachment)},scope:this});a.items.push(this.saveButton)}GO.email.AttachmentContextMenu.superclass.constructor.call(this,a)};Ext.extend(GO.email.AttachmentContextMenu,Ext.menu.Menu,{attachment:false,showAt:function(a,b){this.attachment=b;GO.email.AttachmentContextMenu.superclass.showAt.call(this,a)}});GO.email.SettingsPanel=function(a){if(!a){a={}}a.autoScroll=true;a.border=false;a.hideLabel=true;a.title=GO.lang.strEmail;a.hideMode="offsets";a.layout="form";a.bodyStyle="padding:5px";a.labelWidth=150;a.items=[{xtype:"fieldset",title:GO.email.defaultProgram,autoHeight:true,html:GO.email.defaultProgramInstructions.replace("{url}",GO.settings.modules.email.url+"register_email.php").replace("{product_name}",GO.settings.config.product_name)},this.useHtml=new Ext.form.Checkbox({boxLabel:GO.email.lang.htmlMarkup,hideLabel:true,checked:GO.email.useHtmlMarkup,name:"use_html_markup"}),this.skipUnknownRecipients=new Ext.form.Checkbox({boxLabel:GO.email.lang.skipUnknownRecipients,hideLabel:true,checked:GO.email.skipUnknownRecipients,name:"skip_unknown_recipients"}),this.alwaysRequestNotification=new Ext.form.Checkbox({boxLabel:GO.email.lang.alwaysRequestNotification,hideLabel:true,checked:GO.email.alwaysRequestNotification,name:"always_request_notification"}),this.alwaysRespondToNotifications=new Ext.form.Checkbox({boxLabel:GO.email.lang.alwaysRespondToNotifications,hideLabel:true,checked:GO.email.alwaysRespondToNotifications,name:"always_respond_to_notifications"}),this.fontSize=new GO.form.ComboBox({fieldLabel:GO.email.lang.defaultFontSize,name:"font_size",store:new Ext.data.SimpleStore({fields:["value"],data:[["10px"],["11px"],["12px"],["13px"],["14px"],["15px"],["16px"],["17px"],["18px"],["19px"],["20px"],["21px"],["22px"],["23px"],["24px"]]}),width:70,value:GO.email.fontSize,valueField:"value",displayField:"value",mode:"local",triggerAction:"all",editable:false,selectOnFocus:true,forceSelection:true})];GO.email.SettingsPanel.superclass.constructor.call(this,a)};Ext.extend(GO.email.SettingsPanel,Ext.Panel,{onLoadSettings:function(a){},onSaveSettings:function(){GO.email.useHtmlMarkup=this.useHtml.getValue();GO.email.skipUnknownRecipients=this.skipUnknownRecipients.getValue();GO.email.alwaysRequestNotification=this.alwaysRequestNotification.getValue();GO.email.alwaysRespondToNotifications=this.alwaysRespondToNotifications.getValue()}});GO.mainLayout.onReady(function(){GO.moduleManager.addSettingsPanel("email",GO.email.SettingsPanel)});GO.email.LinkedMessagePanel=Ext.extend(GO.email.MessagePanel,{initComponent:function(){this.tbar=[{iconCls:"btn-print",text:GO.lang.cmdPrint,cls:"x-btn-text-icon",handler:function(){this.body.print()},scope:this},"-",{iconCls:"btn-reply",text:GO.email.lang.reply,cls:"x-btn-text-icon",handler:function(){this.remoteMessage.task="reply";GO.email.showComposer({loadUrl:GO.settings.modules.email.url+"json.php",loadParams:this.remoteMessage})},scope:this},{iconCls:"btn-reply-all",text:GO.email.lang.replyAll,cls:"x-btn-text-icon",handler:function(){this.remoteMessage.task="reply_all";GO.email.showComposer({loadUrl:GO.settings.modules.email.url+"json.php",loadParams:this.remoteMessage})},scope:this},{iconCls:"btn-forward",text:GO.email.lang.forward,cls:"x-btn-text-icon",handler:function(){this.remoteMessage.task="forward";GO.email.showComposer({loadUrl:GO.settings.modules.email.url+"json.php",loadParams:this.remoteMessage})},scope:this},{iconCls:"btn-edit",text:GO.lang.cmdEdit,handler:function(){this.remoteMessage.task="opendraft";GO.email.showComposer({loadUrl:GO.settings.modules.email.url+"json.php",loadParams:this.remoteMessage,saveToPath:this.remoteMessage.path})},scope:this}];GO.email.LinkedMessagePanel.superclass.initComponent.call(this)},border:false,autoScroll:true,editHandler:function(){},load:function(b){this.el.mask(GO.lang.strWaitMsgLoad);if(!this.remoteMessage){this.remoteMessage={}}if(b){this.messageId=b}this.remoteMessage.id=this.messageId;var a="";if(this.remoteMessage.account_id){this.remoteMessage.task="message_attachment";a=GO.settings.modules.email.url+"json.php"}else{this.remoteMessage.task="linked_message";a=GO.settings.modules.mailings.url+"json.php"}Ext.Ajax.request({url:a,params:this.remoteMessage,scope:this,callback:function(d,f,c){var e=Ext.decode(c.responseText);this.setMessage(e);this.el.unmask()}})},listeners:{scope:this,linkedClicked:function(a){var b=window.open(a);b.focus()},attachmentClicked:function(b,a){if(b.type=="message"){this.remoteMessage.part_number=b.number+".0";GO.linkHandlers[9].call(a,a.messageId,a.remoteMessage)}else{if(a.data.path){document.location.href=GO.settings.modules.email.url+"mimepart.php?path="+encodeURIComponent(a.data.path)+"&part_imap_id="+b.imap_id}else{document.location.href=GO.settings.modules.email.url+"mimepart.php?uid="+a.remoteMessage.uid+"&account_id="+a.remoteMessage.account_id+"&encoding="+a.remoteMessage.encoding+"&mailbox="+encodeURIComponent(a.remoteMessage.mailbox)+"&imap_id="+a.remoteMessage.imap_id+"&part_imap_id="+b.imap_id}}}}});Ext.namespace("GO.email");GO.email.EmailClient=function(d){if(!d){d={}}this.messagesStore=new GO.data.JsonStore({url:GO.settings.modules.email.url+"json.php",baseParams:{task:"messages"},root:"results",totalProperty:"total",id:"uid",fields:["uid","icon","flagged","attachments","new","subject","from","sender","size","date","priority","answered","forwarded"],remoteSort:true});this.messagesStore.setDefaultSort("date","DESC");var b=Ext.state.Manager.get("em-msgs-top");if(b){b=Ext.decode(b)}else{b=screen.width<1024}var g={callback:function(){if(this.messagePanel.uid&&!this.messagesGrid.store.getById(this.messagePanel.uid)){this.messagePanel.reset()}},scope:this};this.leftMessagesGrid=new GO.email.MessagesGrid({id:"em-pnl-west",store:this.messagesStore,width:420,region:"west",hidden:b,deleteConfig:g,floatable:false,header:false,collapsible:true,collapseMode:"mini",split:true});this.addGridHandlers(this.leftMessagesGrid);this.topMessagesGrid=new GO.email.MessagesGrid({id:"em-pnl-north",store:this.messagesStore,height:250,region:"north",hidden:!b,deleteConfig:g,floatable:false,collapsible:true,collapseMode:"mini",split:true});this.addGridHandlers(this.topMessagesGrid);if(!this.topMessagesGrid.hidden){this.messagesGrid=this.topMessagesGrid}else{this.messagesGrid=this.leftMessagesGrid}GO.email.messagesGrid=this.messagesGrid;this.messagesGrid.store.on("beforeload",function(){if(this.messagesGrid.store.baseParams.search!=undefined){GO.email.search_query=this.messagesGrid.store.baseParams.search;this.searchDialog.hasSearch=false;delete (this.messagesGrid.store.baseParams.search)}else{if(this.searchDialog.hasSearch){this.messagesGrid.resetSearch()}}if(GO.email.search_query){this.searchDialog.hasSearch=false;var j=(GO.email.search_type)?GO.email.search_type:GO.email.search_type_default;var i;if(j=="any"){i='OR OR OR FROM "'+GO.email.search_query+'" SUBJECT "'+GO.email.search_query+'" TO "'+GO.email.search_query+'" CC "'+GO.email.search_query+'"'}else{i=j.toUpperCase()+' "'+GO.email.search_query+'"'}this.messagesGrid.store.baseParams.query=i}else{if(!this.searchDialog.hasSearch&&this.messagesGrid.store.baseParams.query){this.messagesGrid.resetSearch();delete (this.messagesGrid.store.baseParams.query)}}},this);this.messagesGrid.store.on("load",function(){var i=this.topMessagesGrid.getColumnModel();var n=this.messagesGrid.store.reader.jsonData.sent||this.messagesGrid.store.reader.jsonData.drafts?GO.email.lang.to:GO.email.lang.from;i.setColumnHeader(i.getIndexById("from"),n);var m=this.messagesGrid.store.reader.jsonData.unseen;for(var j in m){this.updateFolderStatus(j,m[j])}if(this.messagesGrid.store.baseParams.query&&this.messagesGrid.store.baseParams.query!=""&&this.searchDialog.hasSearch){this.resetSearchButton.setVisible(true)}else{this.resetSearchButton.setVisible(false)}var k=this.treePanel.getSelectionModel();if(!k.getSelectedNode()){var l=this.treePanel.getNodeById("folder_"+this.messagesGrid.store.reader.jsonData.folder_id);if(l){k.select(l)}}this.messagesGrid.deleteConfig.noConfirmation=!this.messagesGrid.store.reader.jsonData.trash&&!GO.util.empty(this.messagesGrid.store.reader.jsonData.trash_folder)},this);GO.email.saveAsItems=GO.email.saveAsItems||[];for(var f=0;f<GO.email.saveAsItems.length;f++){GO.email.saveAsItems[f].scope=this}var e=[{text:GO.email.lang.markAsRead,handler:function(){this.doTaskOnMessages("mark_as_read")},scope:this,multiple:true},{text:GO.email.lang.markAsUnread,handler:function(){this.doTaskOnMessages("mark_as_unread")},scope:this,multiple:true},{text:GO.email.lang.flag,handler:function(){this.doTaskOnMessages("flag")},scope:this,multiple:true},{text:GO.email.lang.unflag,handler:function(){this.doTaskOnMessages("unflag")},scope:this,multiple:true},"-",{text:GO.email.lang.viewSource,handler:function(){var i=this.messagesGrid.selModel.getSelected();if(i){var j=window.open(GO.settings.modules.email.url+"source.php?account_id="+this.account_id+"&mailbox="+encodeURIComponent(this.mailbox)+"&uid="+encodeURIComponent(i.data.uid));j.focus()}},scope:this},"-",{iconCls:"btn-delete",text:GO.lang.cmdDelete,cls:"x-btn-text-icon",handler:function(){this.messagesGrid.deleteSelected()},scope:this,multiple:true},"-",{iconCls:"btn-add",text:GO.email.lang.addSendersTo,cls:"x-btn-text-icon",menu:{items:[{text:GO.email.lang.to,field:"to",handler:this.addSendersTo,scope:this},{text:"CC",field:"cc",handler:this.addSendersTo,scope:this},{text:"BCC",field:"bcc",handler:this.addSendersTo,scope:this}]},multiple:true}];if(GO.email.saveAsItems&&GO.email.saveAsItems.length){this.saveAsMenu=new Ext.menu.Menu({items:GO.email.saveAsItems});this.saveAsMenu.on("show",function(n){var o=this.messagesGrid.getSelectionModel();var j=o.getSelections().length>1;var l=o.getSelections().length==0;for(var k=0;k<n.items.getCount();k++){var m=n.items.get(k);m.setDisabled(l||(!m.multiple&&j))}},this);e.push({iconCls:"btn-save",text:GO.lang.cmdSaveAs,menu:this.saveAsMenu,multiple:true})}this.gridContextMenu=new GO.menu.RecordsContextMenu({shadow:"frame",minWidth:180,items:e});GO.email.treePanel=this.treePanel=new GO.email.AccountsTree({id:"email-tree-panel",region:"west"});var a=new Ext.tree.AsyncTreeNode({text:GO.email.lang.accounts,draggable:false});this.treePanel.setRootNode(a);var c=[this.addFolderButton=new Ext.menu.Item({iconCls:"btn-add",text:GO.email.lang.addFolder,handler:function(){Ext.MessageBox.prompt(GO.lang.strName,GO.email.lang.enterFolderName,function(i,k){if(i=="ok"){var l=this.treePanel.getSelectionModel();var j=l.getSelectedNode();Ext.Ajax.request({url:GO.settings.modules.email.url+"action.php",params:{task:"add_folder",folder_id:j.attributes.folder_id,account_id:j.attributes.account_id,new_folder_name:k},callback:function(n,p,m){if(!p){Ext.MessageBox.alert(GO.lang.strError,m.result.errors)}else{var o=Ext.decode(m.responseText);if(o.success){delete j.attributes.children;j.reload()}else{Ext.MessageBox.alert(GO.lang.strError,o.feedback)}}},scope:this})}},this)},scope:this}),this.renameFolderButton=new Ext.menu.Item({iconCls:"btn-edit",text:GO.email.lang.renameFolder,handler:function(){var j=this.treePanel.getSelectionModel();var i=j.getSelectedNode();if(!i||i.attributes.folder_id<1){Ext.MessageBox.alert(GO.lang.strError,GO.email.lang.selectFolderRename)}else{if(i.attributes.mailbox=="INBOX"){Ext.MessageBox.alert(GO.lang.strError,GO.email.lang.cantRenameInboxFolder)}else{Ext.MessageBox.prompt(GO.lang.strName,GO.email.lang.enterFolderName,function(k,m){if(k=="ok"){var n=this.treePanel.getSelectionModel();var l=n.getSelectedNode();this.el.mask(GO.lang.waitMsgLoad);Ext.Ajax.request({url:GO.settings.modules.email.url+"action.php",params:{task:"rename_folder",folder_id:l.attributes.folder_id,new_name:m},callback:function(q,s,o){if(!s){Ext.MessageBox.alert(GO.lang.strError,o.result.errors);this.el.unmask()}else{var r=Ext.decode(o.responseText);if(r.success){delete l.parentNode.attributes.children;var p=function(){var t=this.treePanel.getNodeById("folder_"+this.folder_id);if(t){if(this.folder_id==t.attributes.folder_id){this.mailbox=t.attributes.mailbox;this.treePanel.getSelectionModel().select(t)}}this.el.unmask()};l.parentNode.reload(p.createDelegate(this))}else{Ext.MessageBox.alert(GO.lang.strError,r.feedback);this.el.unmask()}}},scope:this})}},this,false,i.attributes.name)}}},scope:this}),"-",new Ext.menu.Item({iconCls:"btn-delete",text:GO.email.lang.deleteOldMails,cls:"x-btn-text-icon",scope:this,handler:function(){if(typeof(this.deleteOldMailDialog)=="undefined"){this.deleteOldMailDialog=new GO.email.DeleteOldMailDialog()}this.deleteOldMailDialog.setNode(this.treePanel.getSelectionModel().getSelectedNode());this.deleteOldMailDialog.show()}}),this.emptyFolderButton=new Ext.menu.Item({iconCls:"btn-delete",text:GO.email.lang.emptyFolder,handler:function(){var k=this.treePanel.getSelectionModel();var j=k.getSelectedNode();var i=new Ext.Template(GO.email.lang.emptyFolderConfirm);Ext.MessageBox.confirm(GO.lang.strConfirm,i.applyTemplate(j.attributes),function(l){if(l=="yes"){this.getEl().mask(GO.lang.waitMsgLoad);Ext.Ajax.request({url:GO.settings.modules.email.url+"action.php",params:{task:"empty_folder",account_id:j.attributes.account_id,mailbox:j.attributes.mailbox},callback:function(){if(j.attributes.mailbox==this.mailbox){this.messagesGrid.store.removeAll();this.messagePanel.reset()}this.updateFolderStatus(j.attributes.folder_id);this.updateNotificationEl();this.getEl().unmask()},scope:this})}},this)},scope:this}),this.deleteFolderButton=new Ext.menu.Item({iconCls:"btn-delete",text:GO.lang.cmdDelete,cls:"x-btn-text-icon",scope:this,handler:function(){var j=this.treePanel.getSelectionModel();var i=j.getSelectedNode();if(!i||i.attributes.folder_id<1){Ext.MessageBox.alert(GO.lang.strError,GO.email.lang.selectFolderDelete)}else{if(i.attributes.mailbox=="INBOX"){Ext.MessageBox.alert(GO.lang.strError,GO.email.lang.cantDeleteInboxFolder)}else{GO.deleteItems({url:GO.settings.modules.email.url+"action.php",params:{task:"delete_folder",folder_id:i.attributes.folder_id},callback:function(k){if(k.success){i.remove();if(i.attributes.mailbox==this.messagesGrid.store.baseParams.mailbox){this.messagesGrid.store.removeAll()}if(GO.emailportlet){GO.emailportlet.foldersStore.load()}}else{Ext.MessageBox.alert(GO.lang.strError,k.feedback)}},count:1,scope:this})}}}}),this.shareBtn=new Ext.menu.Item({iconCls:"em-btn-share-mailbox ",text:GO.email.lang.shareFolder,handler:function(){if(!this.imapAclDialog){this.imapAclDialog=new GO.email.ImapAclDialog()}var j=this.treePanel.getSelectionModel();var i=j.getSelectedNode();this.imapAclDialog.setParams(i.attributes.account_id,i.attributes.mailbox,i.text);this.imapAclDialog.show()},scope:this})];for(f=0;f<GO.email.extraTreeContextMenuItems.length;f++){c.push(GO.email.extraTreeContextMenuItems[f])}this.treeContextMenu=new Ext.menu.Menu({items:c});this.treePanel.on("contextmenu",function(k,m){m.stopEvent();var j=this.treePanel.getSelectionModel();if(!j.isSelected(k)){j.clearSelections();j.select(k)}var l=m.getXY();this.addFolderButton.setDisabled(!k.attributes.canHaveChildren);this.shareBtn.setVisible(k.attributes.aclSupported);if(GO.settings.modules.email.write_permission){var i=k.attributes.id.substring(0,6);this.treeContextMenu.items.get(5).setDisabled(i!="folder")}this.treeContextMenu.showAt([l[0],l[1]])},this);this.treePanel.on("startdrag",function(i,j,k){if(j.id.indexOf("account")>-1){i.dropZone.appendOnly=false}else{i.dropZone.appendOnly=true}},this);this.treePanel.on("beforenodedrop",function(p){if(!p.dropNode){var l=p.data.selections,n=[];for(var k=0,j=l.length;k<j;k++){n.push(l[k].id)}if(n.length>0){if(this.account_id!=p.target.attributes.account_id){var q={task:"move",from_account_id:this.account_id,to_account_id:p.target.attributes.account_id,from_mailbox:this.mailbox,to_mailbox:p.target.attributes.mailbox,messages:Ext.encode(n)};Ext.MessageBox.progress(GO.email.lang.moving,"","");Ext.MessageBox.updateProgress(0,"0%","");var m=new Ext.data.Connection({timeout:300000});var o=function(i){if(!i){q.total=n.length}else{q.messages=Ext.encode(i)}m.request({url:GO.settings.modules.email.url+"action.php",params:q,callback:function(s,u,r){var t=Ext.decode(r.responseText);if(!t.success){alert(t.feedback);Ext.MessageBox.hide()}else{if(t.messages&&t.messages.length>0){Ext.MessageBox.updateProgress(t.progress,(t.progress*100)+"%","");o.call(this,t.messages)}else{this.messagesGrid.store.reload({callback:function(){if(this.messagePanel.uid&&!this.messagesGrid.store.getById(this.messagePanel.uid)){this.messagePanel.reset()}Ext.MessageBox.hide()},scope:this})}}},scope:this})};o.call(this)}else{if(this.mailbox==p.target.mailbox){return false}else{this.messagesGrid.store.baseParams.action="move";this.messagesGrid.store.baseParams.from_account_id=this.account_id;this.messagesGrid.store.baseParams.to_account_id=p.target.attributes.account_id;this.messagesGrid.store.baseParams.from_mailbox=this.mailbox;this.messagesGrid.store.baseParams.to_mailbox=p.target.attributes.mailbox;this.messagesGrid.store.baseParams.messages=Ext.encode(n);this.messagesGrid.store.reload({callback:function(){if(this.messagePanel.uid&&!this.messagesGrid.store.getById(this.messagePanel.uid)){this.messagePanel.reset()}},scope:this});delete this.messagesGrid.store.baseParams.action;delete this.messagesGrid.store.baseParams.from_mailbox;delete this.messagesGrid.store.baseParams.to_mailbox;delete this.messagesGrid.store.baseParams.messages;delete this.messagesGrid.store.baseParams.to_account_id;delete this.messagesGrid.store.baseParams.from_account_id}}}}},this);this.treePanel.on("nodedrop",function(l){if(l.dropNode){if(l.source.dragData.node.id.indexOf("account")>-1&&l.target.id.indexOf("account")>-1&&l.point!="append"){var j=[];var m=this.treePanel.getRootNode().childNodes;for(var k=0;k<m.length;k++){j.push(m[k].attributes.account_id)}Ext.Ajax.request({url:GO.settings.modules.email.url+"action.php",params:{task:"save_accounts_sort_order",sort_order:Ext.encode(j)}})}else{this.treePanel.moveFolder(l.target.attributes.account_id,l.target.id,l.data.node)}}this.treePanel.dropZone.appendOnly=true},this);a.on("load",function(k){this.body.unmask();if(k.childNodes[0]){var l=false;this.updateNotificationEl();for(var j=0;j<k.childNodes.length;j++){l=k.childNodes[j];if(l.expanded){l.on("load",function(i){if(i.childNodes[0]){var m=i.childNodes[0];this.setAccount(m.attributes.account_id,m.attributes.folder_id,m.attributes.mailbox,m.parentNode.attributes.usage)}},this,{single:true});break}}}},this);this.treePanel.on("beforeclick",function(i){if(i.attributes.folder_id==0){return false}},this);this.treePanel.on("beforeclick",function(i){if(i.attributes.noSelect==1){return false}});this.treePanel.on("click",function(j){if(j.attributes.folder_id>0){var k="";var i=j;while(i.parentNode&&k==""){if(i.attributes.usage){k=i.attributes.usage}else{i=i.parentNode}}this.setAccount(j.attributes.account_id,j.attributes.folder_id,j.attributes.mailbox,k)}},this);this.treePanel.on("collapsenode",function(i){if(i.attributes.folder_id&&(i.attributes.folder_id!="undefined")&&i.childNodes.length){this.updateState(i,false,true)}else{if(!i.attributes.folder_id&&i.attributes.account_id){this.updateState(i,false,false)}}},this);this.treePanel.on("expandnode",function(i){if(i.attributes.folder_id&&(i.attributes.folder_id!="undefined")&&i.childNodes.length){this.updateState(i,true,true)}else{if(!i.attributes.folder_id&&i.attributes.account_id){this.updateState(i,true,false)}}},this);this.searchDialog=new GO.email.SearchDialog({store:this.messagesGrid.store});this.settingsMenu=new Ext.menu.Menu({items:[{iconCls:"btn-accounts",text:GO.email.lang.accounts,cls:"x-btn-text-icon",handler:function(){this.showAccountsDialog()},scope:this},{iconCls:"btn-toggle-window",text:GO.email.lang.toggleWindowPosition,cls:"x-btn-text-icon",handler:function(){this.moveGrid()},scope:this}]});if(GO.gnupg){this.settingsMenu.add("-");this.settingsMenu.add({iconCls:"gpg-btn-settings",cls:"x-btn-text-icon",text:GO.gnupg.lang.encryptionSettings,handler:function(){if(!this.securityDialog){this.securityDialog=new GO.gnupg.SecurityDialog()}this.securityDialog.show()},scope:this})}var h=[{iconCls:"btn-compose",text:GO.email.lang.compose,cls:"x-btn-text-icon",handler:function(){GO.email.showComposer({account_id:this.account_id})},scope:this},{iconCls:"btn-delete",text:GO.lang.cmdDelete,cls:"x-btn-text-icon",handler:function(){this.messagesGrid.deleteSelected()},scope:this},new Ext.Toolbar.Separator(),{iconCls:"btn-settings",text:GO.lang.administration,menu:this.settingsMenu},{iconCls:"btn-refresh",text:GO.lang.cmdRefresh,cls:"x-btn-text-icon",handler:function(){this.refresh(true)},scope:this},{iconCls:"btn-search",text:GO.lang.strSearch,cls:"x-btn-text-icon",handler:function(){this.searchDialog.show()},scope:this},this.resetSearchButton=new Ext.Button({iconCls:"btn-delete",text:GO.email.lang.resetSearch,cls:"x-btn-text-icon",hidden:true,handler:function(){this.searchDialog.hasSearch=false;this.messagesGrid.store.baseParams.query="";this.messagesGrid.store.load({params:{start:0}})},scope:this}),"-",this.replyButton=new Ext.Button({disabled:true,iconCls:"btn-reply",text:GO.email.lang.reply,cls:"x-btn-text-icon",handler:function(){GO.email.showComposer({uid:this.messagePanel.uid,task:"reply",mailbox:this.mailbox,account_id:this.account_id})},scope:this}),this.replyAllButton=new Ext.Button({disabled:true,iconCls:"btn-reply-all",text:GO.email.lang.replyAll,cls:"x-btn-text-icon",handler:function(){GO.email.showComposer({uid:this.messagePanel.uid,task:"reply_all",mailbox:this.mailbox,account_id:this.account_id})},scope:this}),this.forwardButton=new Ext.Button({disabled:"true",iconCls:"btn-forward",text:GO.email.lang.forward,cls:"x-btn-text-icon",handler:function(){GO.email.showComposer({uid:this.messagePanel.uid,task:"forward",mailbox:this.mailbox,account_id:this.account_id})},scope:this}),this.printButton=new Ext.Button({disabled:true,iconCls:"btn-print",text:GO.lang.cmdPrint,cls:"x-btn-text-icon",handler:function(){this.messagePanel.body.print()},scope:this})];if(GO.email.saveAsItems&&GO.email.saveAsItems.length){h.push({iconCls:"btn-save",text:GO.lang.cmdSaveAs,menu:this.saveAsMenu})}h.push(new Ext.Toolbar.Separator());h.push(this.closeMessageButton=new Ext.Button({hidden:true,iconCls:"btn-close",text:GO.lang.cmdClose,cls:"x-btn-text-icon",handler:function(){this.messagesGrid.expand()},scope:this}));d.layout="border";d.tbar=new Ext.Toolbar({cls:"go-head-tb",items:h});this.messagePanel=new GO.email.MessagePanel({id:"email-message-panel",region:"center",autoScroll:true,titlebar:false,border:true,attachmentContextMenu:new GO.email.AttachmentContextMenu({emailClient:this})});d.items=[this.treePanel,{region:"center",titlebar:false,layout:"border",items:[this.messagePanel,this.topMessagesGrid,this.leftMessagesGrid]}];this.messagePanel.on("load",function(k,l,j){if(!l){this.messagePanel.uid=0}else{this.replyAllButton.setDisabled(false);this.replyButton.setDisabled(false);this.forwardButton.setDisabled(false);this.printButton.setDisabled(false);var i=this.messagesGrid.store.getById(this.messagePanel.uid);if(i.data["new"]==1){this.incrementFolderStatus(this.folder_id,-1);i.set("new","0")}}},this);this.messagePanel.on("reset",function(){this.replyAllButton.setDisabled(true);this.replyButton.setDisabled(true);this.forwardButton.setDisabled(true);this.printButton.setDisabled(true)},this);this.messagePanel.on("linkClicked",function(i){var j=window.open(i);j.focus()},this);this.messagePanel.on("attachmentClicked",this.openAttachment,this);this.messagePanel.on("zipOfAttachmentsClicked",this.openZipOfAttachments,this);GO.email.searchSender=function(i){if(this.rendered){GO.email.search_type="from";this.messagesGrid.showUnreadButton.toggle(false,true);this.messagesGrid.store.baseParams.search=i;GO.email.messagesGrid.store.baseParams.unread=false;this.messagesGrid.setSearchFields("from",i);this.messagesGrid.store.load({params:{start:0}});if(GO.mainLayout.tabPanel){GO.mainLayout.tabPanel.setActiveTab(this.id)}}else{alert(GO.email.lang.loadEmailFirst)}};GO.email.searchSender=GO.email.searchSender.createDelegate(this);GO.email.EmailClient.superclass.constructor.call(this,d)};Ext.extend(GO.email.EmailClient,Ext.Panel,{moveGrid:function(){if(this.topMessagesGrid.isVisible()){this.messagesGrid=this.leftMessagesGrid;this.topMessagesGrid.hide()}else{this.messagesGrid=this.topMessagesGrid;this.leftMessagesGrid.hide()}this.messagesGrid.show();this.messagesGrid.ownerCt.doLayout();Ext.state.Manager.set("em-msgs-top",Ext.encode(this.topMessagesGrid.isVisible()))},addGridHandlers:function(a){a.on("rowcontextmenu",function(b,f,d){var c=d.getXY();this.gridContextMenu.showAt([c[0],c[1]],b.getSelectionModel().getSelections())},this);a.on("collapse",function(){this.closeMessageButton.setVisible(true)},this);a.on("expand",function(){this.closeMessageButton.setVisible(false)},this);a.on("rowdblclick",function(){if(this.messagesGrid.store.reader.jsonData.drafts){GO.email.showComposer({uid:this.messagePanel.uid,task:"opendraft",template_id:0,mailbox:this.mailbox,account_id:this.account_id})}else{this.messagesGrid.collapse()}},this);a.on("delayedrowselect",function(b,d,c){if(c.data.uid!=this.messagePanel.uid){this.messagePanel.loadMessage(c.data.uid,this.mailbox,this.account_id)}},this)},afterRender:function(){GO.email.EmailClient.superclass.afterRender.call(this);GO.email.notificationEl.setDisplayed(false);this.body.mask(GO.lang.waitMsgLoad)},onShow:function(){GO.email.notificationEl.setDisplayed(false);GO.email.EmailClient.superclass.onShow.call(this)},updateNotificationEl:function(){var b=this.treePanel.getRootNode();GO.email.totalUnseen=0;for(var a=0;a<b.childNodes.length;a++){GO.email.totalUnseen+=b.childNodes[a].attributes.inbox_new}},saveAttachment:function(a){if(!GO.files.saveAsDialog){GO.files.saveAsDialog=new GO.files.SaveAsDialog()}GO.files.saveAsDialog.show({filename:a.name,handler:function(d,b,c){d.el.mask(GO.lang.waitMsgLoad);Ext.Ajax.request({url:GO.settings.modules.email.url+"action.php",params:{task:"save_attachment",uid:this.messagePanel.uid,mailbox:this.mailbox,imap_id:a.imap_id,encoding:a.encoding,type:a.type,subtype:a.subtype,account_id:this.account_id,uuencoded_partnumber:a.uuencoded_partnumber,folder_id:b,filename:c,charset:a.charset,sender:this.messagePanel.data.sender,filepath:this.messagePanel.data.path},callback:function(f,h,e){d.el.unmask();if(!h){alert(GO.lang.strRequestError)}else{var g=Ext.decode(e.responseText);if(!g.success){alert(g.feedback)}else{d.hide()}}},scope:this})},scope:this})},openAttachment:function(g,b,j){var e={account_id:this.account_id,mailbox:this.mailbox,uid:this.messagePanel.uid,imap_id:g.imap_id,uuencoded_partnumber:g.uuencoded_partnumber,encoding:g.encoding,type:g.type,subtype:g.subtype,filename:g.name,charset:g.charset,sender:this.messagePanel.data.sender,filepath:this.messagePanel.data.path?this.messagePanel.data.path:""};var l="?";for(var c in e){l+=c+"="+encodeURIComponent(e[c])+"&"}l=l.substring(0,l.length-1);if(!j&&g.type=="message"){GO.linkHandlers[9].call(this,0,e)}else{switch(g.extension){case"dat":document.location.href=GO.settings.modules.email.url+"tnef.php"+l;break;case"asc":if(!j&&GO.gnupg){e.task="check_public_key_attachment";Ext.Ajax.request({url:GO.settings.modules.gnupg.url+"action.php",params:e,callback:function(n,o,m){if(o){var i=Ext.decode(m.responseText);if(!i.is_public_key){document.location.href=GO.settings.modules.email.url+"attachment.php"+l}else{if(confirm(GO.gnupg.lang.importPublicKeyAttachment)){Ext.Ajax.request({url:GO.settings.modules.gnupg.url+"action.php",params:{task:"import_public_key_attachment"},callback:function(r,s,q){if(s){var p=Ext.decode(q.responseText);alert(p.feedback)}else{alert(GO.lang.strRequestError)}}})}}}},scope:this});break}case"vcs":case"ics":if(!j){e.task="icalendar_attachment";Ext.Ajax.request({url:GO.settings.modules.email.url+"json.php",params:e,callback:function(n,o,m){if(o){var i=Ext.decode(m.responseText);if(!i.success){alert(i.feedback)}else{GO.calendar.showEventDialog({values:i})}}else{alert(GO.lang.strRequestError)}},scope:this});break}case"bmp":case"png":case"gif":case"jpg":case"jpeg":if(GO.files&&!j){if(!this.imageViewer){this.imageViewer=new GO.files.ImageViewer({closeAction:"hide"})}var h=0;var k=Array();if(b){for(var f=0;f<b.data.attachments.length;f++){var a=b.data.attachments[f];var d=GO.util.getFileExtension(a.name);if(d=="jpg"||d=="png"||d=="gif"||d=="bmp"||d=="jpeg"){l.imap_id=a.imap_id;e={account_id:this.account_id,mailbox:this.mailbox,uid:this.messagePanel.uid,imap_id:a.imap_id,uuencoded_partnumber:a.uuencoded_partnumber,encoding:a.encoding,type:a.type,subtype:a.subtype,filename:a.name,charset:a.charset,filepath:this.messagePanel.data.path?this.messagePanel.data.path:""};l="?";for(var c in e){l+=c+"="+encodeURIComponent(e[c])+"&"}l=l.substring(0,l.length-1);k.push({name:a.name,src:GO.settings.modules.email.url+"attachment.php"+l})}if(a.name==g.name){h=k.length-1}}this.imageViewer.show(k,h);break}}default:document.location.href=GO.settings.modules.email.url+"attachment.php"+l;break}}},openZipOfAttachments:function(){document.location.href=GO.settings.modules.email.url+"zip_attachments.php?account_id="+this.account_id+"&mailbox="+encodeURIComponent(this.mailbox)+"&uid="+this.messagePanel.uid+"&filename="+encodeURIComponent(this.messagePanel.data.subject)},showComposer:function(a){GO.email.showComposer({account_id:this.account_id,values:a})},setAccount:function(b,a,d,c){if(a!=this.folder_id){this.messagePanel.reset();this.messagesGrid.getSelectionModel().clearSelections()}this.messagesGrid.expand();this.account_id=b;this.folder_id=a;this.mailbox=d;this.messagesGrid.store.baseParams.task="messages";this.messagesGrid.store.baseParams.account_id=b;this.messagesGrid.store.baseParams.folder_id=a;this.messagesGrid.store.baseParams.mailbox=d;this.messagesGrid.store.load({params:{start:0}});this.treePanel.setUsage(c)},updateFolderStatus:function(a,f){var b=Ext.get("status_"+a);var c=this.treePanel.getNodeById("folder_"+a);if(c&&c.attributes.mailbox=="INBOX"){c.parentNode.attributes.inbox_new=f}if(b&&b.dom){var e=b.dom.innerHTML;var d=e==""?0:parseInt(e.substring(1,e.length-1));if(d!=f){if(f>0){b.dom.innerHTML="("+f+")"}else{b.dom.innerHTML=""}return true}}return false},incrementFolderStatus:function(c,a){var d=Ext.get("status_"+c);var e=d.dom.innerHTML;var b=0;if(e!=""){var b=parseInt(e.substring(1,e.length-1))}b+=a;this.updateFolderStatus(c,b);this.updateNotificationEl()},refresh:function(a){if(a){this.treePanel.loader.baseParams.refresh=true}this.treePanel.root.reload();this.messagesStore.removeAll();if(a){delete this.treePanel.loader.baseParams.refresh}},showAccountsDialog:function(){if(!this.accountsDialog){this.accountsDialog=new GO.email.AccountsDialog();this.accountsDialog.accountsGrid.accountDialog.on("save",function(b,a){if(a.refreshNeeded){this.refresh()}},this);this.accountsDialog.accountsGrid.on("delete",function(){this.refresh();if(GO.emailportlet){GO.emailportlet.foldersStore.load()}},this)}this.accountsDialog.show()},doTaskOnMessages:function(a){var b=this.messagesGrid.selModel.selections.keys;if(b.length){Ext.Ajax.request({url:GO.settings.modules.email.url+"action.php",params:{task:"flag_messages",account_id:this.account_id,mailbox:this.mailbox,action:a,messages:Ext.encode(b)},callback:function(e,k,d){if(!k){Ext.MessageBox.alert(GO.lang.strError,GO.lang.strRequestError)}else{var j=Ext.decode(d.responseText);if(!j.success){Ext.MessageBox.alert(GO.lang.strError,j.feedback)}else{var h;var g;var c=this.messagesGrid.selModel.getSelections();switch(a){case"mark_as_read":h="new";g=false;for(var f=0;f<c.length;f++){if(c[f].get("new")=="1"){GO.email.totalUnseen--}}break;case"mark_as_unread":h="new";g=true;for(var f=0;f<c.length;f++){if(c[f].get("new")!="1"){GO.email.totalUnseen++}}break;case"flag":h="flagged";g=true;break;case"unflag":h="flagged";g=false;break}for(var f=0;f<c.length;f++){c[f].set(h,g);c[f].commit()}this.updateFolderStatus(this.folder_id,j.unseen);this.updateNotificationEl()}}},scope:this})}},addSendersTo:function(g){var b=this.messagesGrid.getSelectionModel().getSelections();var j=[];for(var d=0;d<b.length;d++){j.push('"'+b[d].get("from")+'" <'+b[d].get("sender")+">")}var e=false;if(GO.email.composers){for(var d=GO.email.composers.length-1;d>=0;d--){if(GO.email.composers[d].isVisible()){e=GO.email.composers[d];break}}}if(e){var h=e.formPanel.form.findField(g.field);var a=h.getValue();if(a!=""){a+=", "}a+=j.join(", ");h.setValue(a);e.focus()}else{var c={values:{}};c.values[g.field]=j.join(", ");GO.email.showComposer(c)}},updateState:function(c,a,b){var d=(b)?c.attributes.folder_id:c.attributes.account_id;if(c.attributes.parentExpanded!=a){Ext.Ajax.request({url:GO.settings.modules.email.url+"action.php",params:{task:"update_state",id:d,open:a,folder:b},callback:function(f,h,e){if(!h){Ext.MessageBox.alert(GO.lang.strError,e.result.errors)}else{var g=Ext.decode(e.responseText);if(g.success){c.attributes.parentExpanded=a}else{Ext.MessageBox.alert(GO.lang.strError,g.feedback)}}},scope:this})}}});GO.mainLayout.onReady(function(){GO.email.addressContextMenu=new GO.email.AddressContextMenu();GO.email.search_type_default="any";if(GO.checker){var a=Ext.get("notification-area");if(a){GO.email.notificationEl=a.createChild({id:"ml-notify",tag:"a",href:"#",style:"display:none"});GO.email.notificationEl.on("click",function(){GO.mainLayout.openModule("email")},this)}GO.checker.on("check",function(e,f){var d=GO.mainLayout.getModulePanel("email");var c=0;for(var b in f.email_status){if(d){var g=d.updateFolderStatus(b,f.email_status[b].unseen);if(g&&d.messagesGrid.store.baseParams.folder_id==b){d.messagesGrid.store.reload()}}c+=f.email_status[b].unseen}if(c!=GO.email.totalUnseen&&c>0){if(GO.util.empty(GO.settings.mute_new_mail_sound)){f.alarm=true}else{f.alarm=false}f.reminderText+="<p>"+GO.email.lang.youHaveNewMails.replace("{new}",c)+"</p>";if(!d||!d.isVisible()){GO.email.notificationEl.setDisplayed(true)}}GO.email.notificationEl.update(c);GO.email.totalUnseen=c})}});GO.email.aliasesStore=new GO.data.JsonStore({url:GO.settings.modules.email.url+"json.php",baseParams:{task:"all_aliases"},root:"results",id:"id",totalProperty:"total",fields:["id","account_id","name","email","html_signature","plain_signature"],remoteSort:true});GO.email.showComposer=function(a){a=a||{};GO.email.composers=GO.email.composers||[];var c;for(var b=0;b<GO.email.composers.length;b++){if(!GO.email.composers[b].isVisible()){c=GO.email.composers[b];break}}if(!c){a.move=30*GO.email.composers.length;c=new GO.email.EmailComposer();c.on("send",function(e){if(e.sendParams.reply_uid&&e.sendParams.reply_uid>0){var d=GO.email.messagesGrid.store.getById(e.sendParams.reply_uid);if(d){d.set("answered",true)}}if(e.sendParams.forward_uid&&e.sendParams.forward_uid>0){var d=GO.email.messagesGrid.store.getById(e.sendParams.forward_uid);if(d){d.set("forwarded",true)}}if(GO.email.messagesGrid&&GO.email.messagesGrid.store.loaded&&(GO.email.messagesGrid.store.reader.jsonData.sent||(GO.email.messagesGrid.store.reader.jsonData.drafts&&e.sendParams.draft_uid&&e.sendParams.draft_uid>0))){GO.email.messagesGrid.store.reload()}});c.on("save",function(d){if(GO.email.messagesGrid&&GO.email.messagesGrid.store.loaded&&GO.email.messagesGrid.store.reader.jsonData.drafts){GO.email.messagesGrid.store.reload()}});GO.email.composers.push(c)}c.show(a);return c};GO.email.extraTreeContextMenuItems=[];GO.moduleManager.addModule("email",GO.email.EmailClient,{title:GO.lang.strEmail,iconCls:"go-tab-icon-email"});GO.email.showAddressMenu=function(c,b,a){var c=Ext.EventObject.setEvent(c);c.preventDefault();GO.email.addressContextMenu.showAt(c.getXY(),b,a)};GO.linkHandlers[9]=function(b,a){if(!GO.email.linkedMessagePanel){GO.email.linkedMessagePanel=new GO.email.LinkedMessagePanel();GO.email.linkedMessageWin=new GO.Window({maximizable:true,collapsible:true,stateId:"em-linked-message-panel",title:GO.email.lang.emailMessage,height:400,width:600,closeAction:"hide",layout:"fit",items:GO.email.linkedMessagePanel})}GO.email.linkedMessagePanel.remoteMessage=a;GO.email.linkedMessageWin.show();GO.email.linkedMessagePanel.load(b)};GO.linkPreviewPanels[9]=function(a){a=a||{};return new GO.email.LinkedMessagePanel(a)};GO.newMenuItems.push({text:GO.email.lang.email,iconCls:"go-link-icon-9",handler:function(b,c){var a=b.parentMenu.taskShowConfig||{};a.link_config=b.parentMenu.link_config;if(typeof(b.parentMenu.panel)!="undefined"&&typeof(b.parentMenu.panel.data.email)!="undefined"){var d="";if(b.parentMenu.panel.data.full_name){d='"'+b.parentMenu.panel.data.full_name+'" <'+b.parentMenu.panel.data.email+">"}else{if(b.parentMenu.panel.data.name){d='"'+b.parentMenu.panel.data.name+'" <'+b.parentMenu.panel.data.email+">"}}a.values={to:d}}GO.email.showComposer(a)}});GO.email.ContactsGrid=function(a){if(!a){a={}}a.layout="fit";a.autoScroll=true;a.split=true;a.paging=true;a.border=false;a.store=new GO.data.JsonStore({url:GO.settings.modules.addressbook.url+"json.php",baseParams:{task:"search_email_contacts"},root:"results",id:"email",totalProperty:"total",fields:["id","name","email","ab_name","company_name"],remoteSort:true});var b=new Ext.grid.ColumnModel({defaults:{sortable:true,css:"white-space:normal;"},columns:[{header:GO.lang.strName,dataIndex:"name"},{header:GO.lang.strEmail,dataIndex:"email"},{header:GO.lang.strCompany,dataIndex:"company_name",css:"white-space:normal;",sortable:true},{header:GO.addressbook.lang.addressbook,dataIndex:"ab_name",css:"white-space:normal;",sortable:false}]});a.cm=b;a.view=new Ext.grid.GridView({autoFill:true,forceFit:true,emptyText:GO.lang.strNoItems});a.sm=new Ext.grid.RowSelectionModel({singleSelect:a.singleSelect});this.contactsSearchField=new GO.form.SearchField({store:a.store,width:320});a.tbar=[GO.lang.strSearch+": "," ",this.contactsSearchField];GO.email.ContactsGrid.superclass.constructor.call(this,a)};Ext.extend(GO.email.ContactsGrid,GO.grid.GridPanel,{});GO.email.FindContactDialog=function(a){if(!a){a={}}a.layout="fit";a.modal=false;a.resizable=false;a.width=600;a.height=400;a.closeAction="hide";a.title=GO.addressbook.lang.contacts;this.contactsGrid=new GO.email.ContactsGrid({singleSelect:true});a.items=[this.contactsGrid];GO.email.FindContactDialog.superclass.constructor.call(this,a);this.contactsGrid.on("rowdblclick",function(c,d){var b=c.getStore().getAt(d);this.mergeEmail(b.data.id)},this)};Ext.extend(GO.email.FindContactDialog,Ext.Window,{email:"",replace_email:"",contact_id:0,show:function(a){if(!this.rendered){this.render(Ext.getBody())}this.email=a.email;if(a.first_name!=a.email){var b=a.first_name+" "+a.middle_name+" "+a.last_name;this.contactsGrid.contactsSearchField.setValue(b);this.contactsGrid.store.baseParams.query=b}this.contactsGrid.store.reload();GO.email.FindContactDialog.superclass.show.call(this)},mergeEmail:function(a){if(a){this.contact_id=a}Ext.Ajax.request({url:GO.settings.modules.addressbook.url+"action.php",params:{contact_id:this.contact_id,email:this.email,replace_email:this.replace_email,task:"merge_email"},callback:function(c,e,b){var d=Ext.decode(b.responseText);this.replace_email="";if(d.success){if(d.addresses&&d.contact_name){this.showReplaceDialog(d.addresses,d.contact_name)}else{alert(GO.addressbook.lang.emailAdded);this.hide()}}else{if(d.feedback){alert(d.feedback)}}},scope:this})},showReplaceDialog:function(b,a){if(!GO.email.replaceEmailDialog){GO.email.replaceEmailDialog=new GO.email.ReplaceEmailDialog();GO.email.replaceEmailDialog.on("replace",function(d,c){this.replace_email=c;this.mergeEmail()},this)}GO.email.replaceEmailDialog.store.loadData({addresses:b});GO.email.replaceEmailDialog.setTitle(GO.addressbook.lang.contact+": "+a);GO.email.replaceEmailDialog.show()}});GO.email.ReplaceEmailDialog=function(a){if(!a){a={}}a.layout="fit";a.modal=true;a.resizable=false;a.width=400;a.height=200;a.closeAction="hide";a.title=GO.addressbook.lang.contact;this.store=new GO.data.JsonStore({root:"addresses",fields:["name"]});this.list=new GO.grid.SimpleSelectList({store:this.store});this.list.on("click",function(c,d){var b=c.store.data.items[d];this.fireEvent("replace",this,b.data.name);this.hide()},this);a.items=new Ext.Panel({autoScroll:true,items:[new Ext.Panel({border:false,html:GO.email.lang.replaceEmailText}),this.list],cls:"go-form-panel"});GO.email.ReplaceEmailDialog.superclass.constructor.call(this,a);this.addEvents({replace:true})};Ext.extend(GO.email.ReplaceEmailDialog,Ext.Window);GO.email.MessageDialog=function(a){if(!a){a={}}this.messagePanel=new GO.email.MessagePanel({autoScroll:true});this.toolbar=[this.replyButton=new Ext.Button({disabled:false,iconCls:"btn-reply",text:GO.email.lang.reply,cls:"x-btn-text-icon",handler:function(){GO.email.showComposer({uid:this.messagePanel.uid,task:"reply",mailbox:this.messagePanel.mailbox,account_id:this.account_id})},scope:this}),this.replyAllButton=new Ext.Button({disabled:false,iconCls:"btn-reply-all",text:GO.email.lang.replyAll,cls:"x-btn-text-icon",handler:function(){GO.email.showComposer({uid:this.messagePanel.uid,task:"reply_all",mailbox:this.messagePanel.mailbox,account_id:this.account_id})},scope:this}),this.forwardButton=new Ext.Button({disabled:false,iconCls:"btn-forward",text:GO.email.lang.forward,cls:"x-btn-text-icon",handler:function(){GO.email.showComposer({uid:this.messagePanel.uid,task:"forward",mailbox:this.messagePanel.mailbox,account_id:this.account_id})},scope:this}),this.printButton=new Ext.Button({disabled:false,iconCls:"btn-print",text:GO.lang.cmdPrint,cls:"x-btn-text-icon",handler:function(){this.messagePanel.body.print()},scope:this})];a.layout="fit";a.title=GO.email.lang.message;a.stateId="email-message-dialog";a.maximizable=true;a.modal=false;a.width=500;a.height=400;a.resizable=true;a.minizable=true;a.closeAction="hide";a.items=this.messagePanel;a.tbar=this.toolbar;a.buttons=[{text:GO.lang.cmdClose,handler:function(){this.hide()},scope:this}];GO.email.MessageDialog.superclass.constructor.call(this,a)};Ext.extend(GO.email.MessageDialog,Ext.Window,{show:function(a,c,b){if(!this.rendered){this.render(Ext.getBody())}this.messagePanel.loadMessage(a,c,b);GO.email.MessageDialog.superclass.show.call(this)}});GO.email.ImapAclDialog=Ext.extend(GO.Window,{initComponent:function(){this.grid=new GO.grid.GridPanel({store:new GO.data.JsonStore({url:GO.settings.modules.email.url+"json.php",baseParams:{task:"getacl",mailbox:"",account_id:0},root:"results",id:"identifier",fields:["identifier","permissions"]}),cm:new Ext.grid.ColumnModel({defaults:{sortable:false},columns:[{header:GO.lang.strUser,dataIndex:"identifier"},{header:GO.lang.strPermissions,dataIndex:"permissions"}]}),view:new Ext.grid.GridView({autoFill:true,forceFit:true,emptyText:GO.lang.strNoItems}),loadMask:true,tbar:[{iconCls:"btn-add",text:GO.lang.cmdAdd,cls:"x-btn-text-icon",handler:function(){this.showUserDialog()},scope:this},{iconCls:"btn-delete",text:GO.lang.cmdDelete,cls:"x-btn-text-icon",handler:function(){this.grid.deleteSelected()},scope:this}],listeners:{rowdblclick:function(b,c){var a=b.getStore().getAt(c);this.showUserDialog(a)},scope:this}});Ext.apply(this,{width:500,height:400,title:GO.email.lang.shareFolder,layout:"fit",items:[this.grid],buttons:[{text:GO.lang.cmdClose,handler:function(){this.hide()},scope:this}]});GO.email.ImapAclDialog.superclass.initComponent.call(this)},setParams:function(a,c,b){this.grid.store.baseParams.account_id=a;this.grid.store.baseParams.mailbox=c;this.grid.store.load();this.setTitle(GO.email.lang.shareFolder+": "+b)},showUserDialog:function(a){if(!this.userDialog){this.userDialog=new GO.email.ImapAclUserDialog({listeners:{scope:this,save:function(){this.grid.store.load()}}})}this.userDialog.show();this.userDialog.setData(this.grid.store.baseParams.mailbox,this.grid.store.baseParams.account_id,a)}});GO.email.ImapAclUserDialog=Ext.extend(GO.Window,{initComponent:function(){this.formPanel=new Ext.form.FormPanel({autoHeight:true,waitMsgTarget:true,url:GO.settings.modules.email.url+"action.php",border:false,baseParams:{task:"setacl",account_id:0,mailbox:""},cls:"go-form-panel",items:[new GO.form.ComboBox({xtype:"textfield",fieldLabel:GO.lang.strUsername,name:"identifier",anchor:"100%",displayField:"username",valueField:"username",triggerAction:"all",selectOnFocus:true,pageSize:parseInt(GO.settings.max_rows_list),store:new GO.data.JsonStore({url:GO.settings.modules.email.url+"json.php",baseParams:{task:"usernames"},root:"results",totalProperty:"total",id:"username",fields:["username","email"],remoteSort:true})}),{xtype:"checkboxgroup",fieldLabel:GO.lang.strPermissions,anchor:"100%",columns:1,items:[{boxLabel:GO.email.lang.readPerm,name:"read",checked:true},{boxLabel:GO.email.lang.writePerm,name:"write"},{boxLabel:GO.email.lang.deletePerm,name:"delete"},{boxLabel:GO.email.lang.createMailboxPerm,name:"createmailbox"},{boxLabel:GO.email.lang.deleteMailboxPerm,name:"deletemailbox"},{boxLabel:GO.email.lang.adminPerm,name:"admin"}]}]});Ext.apply(this,{width:400,autoHeight:true,title:GO.email.lang.shareFolder,items:[this.formPanel],buttons:[{text:GO.lang.cmdOk,handler:function(){this.submitForm()},scope:this},{text:GO.lang.cmdClose,handler:function(){this.hide()},scope:this}]});GO.email.ImapAclDialog.superclass.initComponent.call(this);this.addEvents({save:true})},focus:function(){var a=this.formPanel.form.findField("identifier");a.focus()},setData:function(d,b,a){this.formPanel.baseParams.mailbox=d;this.formPanel.baseParams.account_id=b;var c=this.formPanel.form.findField("identifier");if(a){this.formPanel.form.setValues(a.json);c.setDisabled(true);this.formPanel.baseParams.identifier=c.getValue()}else{this.formPanel.form.reset();delete this.formPanel.baseParams.identifier;c.setDisabled(false);c.focus()}},submitForm:function(a){this.formPanel.form.submit({url:GO.settings.modules.email.url+"action.php",params:{task:"setacl"},waitMsg:GO.lang.waitMsgSave,success:function(b,c){this.fireEvent("save",this);this.hide()},failure:function(b,c){if(c.failureType=="client"){Ext.MessageBox.alert(GO.lang.strError,GO.lang.strErrorsInForm)}else{Ext.MessageBox.alert(GO.lang.strError,c.result.feedback)}},scope:this})}});GO.email.DeleteOldMailDialog=function(a){if(!a){a={}}this.buildForm();a.layout="fit";a.title=GO.email.lang.deleteOldMails;a.maximizable=true;a.modal=false;a.width=500;a.height=170;a.resizable=true;a.minizable=true;a.closeAction="hide";a.items=this.formPanel;a.buttons=[{text:GO.lang.cmdOk,handler:function(){this.submitForm()},scope:this},{text:GO.lang.cmdClose,handler:function(){this.hide()},scope:this}];GO.email.DeleteOldMailDialog.superclass.constructor.call(this,a)};Ext.extend(GO.email.DeleteOldMailDialog,Ext.Window,{onShow:function(){GO.email.DeleteOldMailDialog.superclass.onShow.call(this);if(typeof(this.node)=="object"){this.folderNameField.setValue(this.node.attributes.name)}this.untilDate.setValue(this.getDefaultDate())},buildForm:function(){this.formPanel=new Ext.form.FormPanel({waitMsgTarget:true,url:GO.settings.modules.email.url+"action.php",border:false,baseParams:{task:"alias",account_id:0},cls:"go-form-panel",autoHeight:true,items:[this.folderNameField=new GO.form.PlainField({anchor:"100%",allowBlank:false,fieldLabel:GO.email.lang.folder}),{xtype:"plainfield",anchor:"100%",allowBlank:false,hideLabel:true,value:GO.email.lang.deleteOldMailsInstructions},this.untilDate=new Ext.form.DateField({name:"until_date",width:100,format:GO.settings.date_format,allowBlank:false,fieldLabel:GO.email.lang.everythingBefore})]})},setNode:function(a){this.node=a;this.account_id=a.attributes.account_id},getDefaultDate:function(){var a=new Date();a.setFullYear(a.getFullYear()-2);return a},getNode:function(){if(typeof(this.node)=="undefined"){return{}}else{return this.node}},deleteOldMails:function(b,a,d){var c=new Ext.data.Connection();c.request({url:GO.settings.modules.email.url+"action.php",params:{task:"delete_old_mails",type:"imap",account_id:this.account_id,id:this.node.attributes.id,mailbox:this.node.attributes.mailbox,total:b,n_deleted:a,uids:Ext.encode(d),until_date:this.untilDate.value},callback:function(f,i,e){var h=Ext.decode(e.responseText);var g=Ext.decode(h.uids);if(!h.success){Ext.MessageBox.alert(GO.lang.strError,h.feedback)}else{if(g&&g.length>0){Ext.MessageBox.updateProgress(h.progress,(h.progress*100)+"%","");this.deleteOldMails(h.total,h.nDeleted,g)}else{GO.email.messagesGrid.store.reload({callback:function(){Ext.MessageBox.alert(GO.lang.strSuccess,GO.email.lang.nDeletedMailsTxt+": "+h.nDeleted+".");this.hide()},scope:this});Ext.Ajax.request({url:GO.settings.modules.email.url+"action.php",params:{task:"log_deletion",account_id:this.account_id,mailbox:this.node.attributes.mailbox,n_deleted:h.nDeleted,until_date:this.untilDate.value},scope:this})}}},scope:this})},submitForm:function(a){Ext.Msg.show({title:GO.email.lang.deleteOldMails,icon:Ext.MessageBox.WARNING,msg:GO.email.lang.deleteOldMailsSure1+" "+this.untilDate.value+GO.email.lang.deleteOldMailsSure2,buttons:Ext.Msg.YESNO,animEl:"elId",fn:function(b){if(b=="yes"){Ext.MessageBox.progress(GO.email.lang.deletingEmails,"","");Ext.MessageBox.updateProgress(0,"0%","");this.deleteOldMails(null,0,new Array())}},scope:this})}});