GO.reminders.ReminderDialog=function(a){if(!a){a={}}this.buildForm();a.collapsible=true;a.maximizable=true;a.modal=false;a.resizable=true;a.width=700;a.height=500;a.layout="fit";a.closeAction="hide";a.title=GO.reminders.lang.reminder;a.items=[this.formPanel];a.buttons=[{text:GO.lang.cmdOk,handler:function(){this.submitForm(true)},scope:this},{text:GO.lang.cmdClose,handler:function(){this.hide()},scope:this}];GO.reminders.ReminderDialog.superclass.constructor.call(this,a);this.addEvents({save:true})};Ext.extend(GO.reminders.ReminderDialog,GO.Window,{focus:function(){this.propertiesPanel.items.items[0].focus()},show:function(b,a){if(!this.rendered){this.render(Ext.getBody())}this.formPanel.form.reset();if(!b){b=0}this.tabPanel.setActiveTab(0);this.setReminderId(b);if(this.reminder_id>0){this.usersStore.baseParams.reminder_id=this.reminder_id;this.usersStore.load();this.usersGrid.setDisabled(false);this.formPanel.load({url:GO.settings.modules.reminders.url+"json.php",waitMsg:GO.lang.waitMsgLoad,success:function(c,d){this.selectLink.setRemoteText(d.result.data.link_name);GO.reminders.ReminderDialog.superclass.show.call(this)},failure:function(c,d){Ext.Msg.alert(GO.lang.strError,d.result.feedback)},scope:this})}else{this.usersGrid.setDisabled(true);this.usersStore.baseParams.reminder_id=0;this.usersStore.removeAll();GO.reminders.ReminderDialog.superclass.show.call(this)}},setReminderId:function(a){this.formPanel.form.baseParams.reminder_id=a;this.reminder_id=a},submitForm:function(a){this.formPanel.form.submit({url:GO.settings.modules.reminders.url+"action.php",params:{task:"save_reminder"},waitMsg:GO.lang.waitMsgSave,success:function(b,c){if(c.result.reminder_id){this.setReminderId(c.result.reminder_id);this.usersStore.baseParams.reminder_id=this.reminder_id;this.usersStore.load();this.usersGrid.setDisabled(false);this.tabPanel.setActiveTab(1)}else{if(a){this.hide()}}this.fireEvent("save",this,this.reminder_id)},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.usersStore=new Ext.data.JsonStore({baseParams:{task:"reminder_users",reminder_id:0},root:"results",id:"id",totalProperty:"total",fields:["id","name"],url:GO.settings.modules.reminders.url+"json.php",remoteSort:true});this.usersGrid=new GO.grid.GridPanel({disabled:true,layout:"fit",title:GO.lang.users,tbar:[{iconCls:"btn-delete",text:GO.lang.cmdDelete,cls:"x-btn-text-icon",handler:function(){this.usersGrid.deleteSelected()},scope:this},{iconCls:"btn-add",text:GO.reminders.lang.addUsers,cls:"x-btn-text-icon",handler:function(){if(!this.selectUsersWindow){this.selectUsersWindow=new GO.dialog.SelectUsers({scope:this,handler:function(d){var b=d.getSelectionModel().getSelections();var e=[];for(var c=0,a=b.length;c<a;c++){e.push(b[c].id)}this.usersStore.baseParams.add_users=Ext.encode(e);this.usersStore.load();delete this.usersStore.baseParams.add_users}})}this.selectUsersWindow.show()},scope:this},{iconCls:"btn-add",text:GO.reminders.lang.addUserGroups,cls:"x-btn-text-icon",handler:function(){if(!this.selectGroupsWindow){this.selectGroupsWindow=new GO.dialog.SelectGroups({scope:this,handler:function(e){var c=e.getSelectionModel().getSelections();var b=[];for(var d=0,a=c.length;d<a;d++){b.push(c[d].id)}this.usersStore.baseParams.add_groups=Ext.encode(b);this.usersStore.load();delete this.usersStore.baseParams.add_groups}})}this.selectGroupsWindow.show()},scope:this}],paging:true,border:true,store:this.usersStore,columns:[{header:GO.lang.strName,dataIndex:"name",id:"name"}],autoExpandColumn:"name",sm:new Ext.grid.RowSelectionModel(),loadMask:true});this.propertiesPanel=new Ext.Panel({layout:"form",border:false,title:GO.lang.strProperties,bodyStyle:"padding:5px",items:[{xtype:"textfield",name:"name",anchor:"100%",fieldLabel:GO.lang.strName,allowBlank:false},this.selectLink=new GO.form.SelectLink({anchor:"100%",listeners:{scope:this,select:function(a,b,c){this.formPanel.form.findField("name").setValue(b.data.type_name)}}}),{xtype:"compositefield",fieldLabel:GO.reminders.lang.time,anchor:"100%",items:[{xtype:"datefield",name:"date",value:new Date()},{xtype:"timefield",increment:15,format:GO.settings.time_format,name:"time",value:"8:00",width:80,hideLabel:true,autoSelect:true,forceSelection:true}]},{xtype:"combo",anchor:"100%",fieldLabel:GO.reminders.lang.snoozeTime,hiddenName:"snooze_time",store:new Ext.data.ArrayStore({idIndex:0,fields:["value","text"],data:GO.checkerSnoozeTimes}),value:7200,valueField:"value",displayField:"text",mode:"local",triggerAction:"all",editable:false,selectOnFocus:true,forceSelection:true},{xtype:"htmleditor",name:"text",fieldLabel:GO.reminders.lang.text,anchor:"100% -105"}]});this.tabPanel=new Ext.TabPanel({activeTab:0,deferredRender:false,border:false,items:[this.propertiesPanel,this.usersGrid],anchor:"100% 100%"});this.formPanel=new Ext.form.FormPanel({waitMsgTarget:true,border:false,url:GO.settings.modules.reminders.url+"action.php",baseParams:{task:"reminder"},items:this.tabPanel})}});GO.reminders.RemindersGrid=function(b){if(!b){b={}}b.layout="fit";b.autoScroll=true;b.split=true;var a={fields:["id","link_id","link_type","name","time","vtime","mail_send","snooze_time","manual"],columns:[{header:GO.reminders.lang.time,dataIndex:"time",width:120},{header:GO.lang.strName,dataIndex:"name",id:"name"}]};b.store=new GO.data.JsonStore({url:GO.settings.modules.reminders.url+"json.php",baseParams:{task:"reminders"},root:"results",id:"id",totalProperty:"total",fields:a.fields,remoteSort:true});b.paging=true;var c=new Ext.grid.ColumnModel({defaults:{sortable:true},columns:a.columns});b.cm=c;b.view=new Ext.grid.GridView({emptyText:GO.lang.strNoItems});b.autoExpandColumn="name";b.sm=new Ext.grid.RowSelectionModel();b.loadMask=true;b.tbar=new Ext.Toolbar({cls:"go-head-tb",items:[{iconCls:"btn-add",text:GO.lang.cmdAdd,cls:"x-btn-text-icon",handler:function(){this.showReminderDialog()},scope:this},{iconCls:"btn-delete",text:GO.lang.cmdDelete,cls:"x-btn-text-icon",handler:function(){this.deleteSelected()},scope:this}]});b.listeners={scope:this,render:function(){this.store.load()},rowdblclick:function(e,f){var d=e.getStore().getAt(f);this.showReminderDialog(d.data.id)}};GO.reminders.RemindersGrid.superclass.constructor.call(this,b)};Ext.extend(GO.reminders.RemindersGrid,GO.grid.GridPanel,{showReminderDialog:function(a){if(!this.reminderDialog){this.reminderDialog=new GO.reminders.ReminderDialog({listeners:{save:function(){this.store.reload()},scope:this}})}this.reminderDialog.show(a)}});GO.moduleManager.addModule("reminders",GO.reminders.RemindersGrid,{title:GO.reminders.lang.reminders,iconCls:"go-tab-icon-reminders"});