Ext.namespace('cmv.kammeratpokal')

cmv.kammeratpokal.displayed=false;

cmv.kammeratpokal.info = new Ext.data.JsonStore({
  autoDestroy: false,
  url: 'json/kammeratpokalinfo.php',
  // reader configs
  idProperty: 'id',
  root: 'data',
  totalProperty: 'total',
  fields: [{
    name:'id',
    type:'int'
  }, {
    name:'Tekst'
  }],
  listeners:{
    load: {
      fn: function(store, record, operation){
        cmv.kammeratpokal.member.load();
      }
    }
  }
});

cmv.kammeratpokal.member = new Ext.data.JsonStore({
  autoDestroy: false,
  url: 'json/kammeratpokalmember.php',
  // reader configs
  idProperty: 'value',
  root: 'data',
  totalProperty: 'total',
  fields: [{
    name:'value',
    type:'int'
  }, {
    name:'text'
  }],
  listeners:{
    load: {
      fn: function(store, record, operation){
        cmv.kammeratpokal.initiate();
      }
    }
  }
});

cmv.kammeratpokal.store = new Ext.data.JsonStore({
  // store configs
  autoDestroy: true,
  url: 'json/kammeratpokal_read.php',
  remoteSort: true,
  sortInfo: {
    field: 'name',
    direction: 'ASC'
  },
  storeId: 'cmvkammeratpokal',

  // reader configs
  idProperty: 'id',
  root: 'data',
  totalProperty: 'total',
  fields: [{
    name: 'id',
    type: 'int'
  }, {
    name: 'dato',
    type: 'date'
  }, {
    name: 'navn'
  }, {
    name: 'why'
  }],
  listeners:{
    update: {
      fn: function(store, record, operation){
        store.reload();
      }
    }
  }
});

cmv.kammeratpokal.ColModel = new Ext.grid.ColumnModel({
  columns: [{
    dataIndex: 'navn',
    header: 'Indstillet',
    width: 10
  },{
    dataIndex: 'why',
    header: 'Begrundelse'
  }],
  defaults: {
    sortable: false,
    filterable: false
  }
})

cmv.kammeratpokal.grid = new Ext.grid.GridPanel({
  title: 'Se indstillinger',
  border: false,
  store: cmv.kammeratpokal.store,
  colModel: cmv.kammeratpokal.ColModel,
  loadMask: true,
  viewConfig: {
    forceFit: true
  },
  listeners: {
    activate: {
      fn: function(){
        cmv.kammeratpokal.store.load({
          params: {
            start: 0,
            limit: 15
          }
        });
      }
    }
  },
  bbar: new Ext.PagingToolbar({
    store: cmv.kammeratpokal.store,
    pageSize: 15,
    displayInfo: true
  })
});

cmv.kammeratpokal.formpanel = new Ext.form.FormPanel({
  labelAlign: 'top',
  frame: true,
  unstyled: false,
  border: false,
  autoScroll: true,
  items:[{
    layout:'column',
    items:[{
      columnWidth:.4,
      layout: 'form',
      items:[{
        xtype:'combo',
        allowBlank: false,
        id:'kammeratpokalmedlemfield',
        fieldLabel:'Medlem til indstilling',
        name:'navn',
        store:cmv.kammeratpokal.member,
        displayField: 'text',
        valueField: 'value',
        typeAhead: true,
        triggerAction: 'all',
        mode: 'local',
        emptyText: 'Vælg medlem',
        selectOnFocus: true,
        forceSelection: true,
        anchor:'95%'
      },{
        xtype:'fieldset',
        title: 'CMVs kammeratskabspokal',
        collapsible: true,
        collapsed: false,
        anchor:'95%',
        items :{
          hideLabel: true,
          xtype: 'displayfield',
          id: 'cmvkammeratpokalinfo'
        }
      },{
        xtype:'fieldset',
        title: 'Vejledning',
        collapsible: true,
        collapsed: false,
        anchor:'95%',
        items :{
          hideLabel: true,
          xtype: 'displayfield',
          id: 'cmvkammeratpokalhow'
        }
      }]
    },{
      columnWidth:.6,
      layout: 'form',
      items:     
      { fieldLabel:'Begrundelse for indstilling',
        xtype:'htmleditor',
        name:'why',
        width: 700,
        height: 300
      }
    }]
    }
  ],
  buttonAlign:'center',
  buttons: [{
    text: 'OK',
    id: 'cmvkammeratpokalOK',
    handler: function(){
      if(cmv.kammeratpokal.formpanel.getForm().isValid()){
        Ext.Msg.confirm('Indstilling til kammeratskabspokalen','Jeg ønsker at afsende min indstilling af '+cmv.kammeratpokal.formpanel.getForm().findField('kammeratpokalmedlemfield').getRawValue()+' til kammeratskabspokalen.',
          cmv.kammeratpokal.ProcessResult)
      }
    }
  },{
    text: 'Nulstil',
    id: 'cmvkammeratpokalnulstil',
    handler: function(){
      cmv.kammeratpokal.formpanel.getForm().reset();
      cmv.kammeratpokal.initiate();
    }
  }]
})

cmv.kammeratpokal.tabpanel = new Ext.TabPanel({
  activeTab: 0,
  items: [{
    title: 'Lav indstilling',
    items: cmv.kammeratpokal.formpanel
  },cmv.kammeratpokal.grid]
})

cmv.kammeratpokal.panel = new Ext.Panel({
  layout:'fit',
  iconCls: 'icon-form',
  title:'Medlemsområde > Kammeratskabspokal',
  id:'cmvmenuitem28-panel',
  items:cmv.kammeratpokal.tabpanel,
  listeners:{
    activate: {
      fn: function(panel){
        if(!cmv.kammeratpokal.displayed)
        {
          cmv.kammeratpokal.info.load();
          cmv.kammeratpokal.displayed=true;
        }
      }
    }
  }
})

cmv.kammeratpokal.initiate=function(){  
  var rec=cmv.kammeratpokal.info.getAt(0);
  Ext.getCmp('cmvkammeratpokalinfo').setValue(rec.get('Tekst'));
  rec=cmv.kammeratpokal.info.getAt(1);
  Ext.getCmp('cmvkammeratpokalhow').setValue(rec.get('Tekst'));
}

cmv.kammeratpokal.ProcessResult=function(btn)
{
  if(btn=='yes')
  {
    cmv.kammeratpokal.formpanel.getForm().submit({
      url:'json/kammeratpokal_save.php',
      success:function(form,action){        
        Ext.Msg.show({
          buttons:Ext.MessageBox.OK,
          icon:Ext.MessageBox.INFO,
          msg:action.result.msg,
          title: 'Status'
        });
        cmv.kammeratpokal.formpanel.getForm().reset();
        cmv.kammeratpokal.initiate();
      },
      failure:function(form,action){        
        Ext.Msg.show({
          buttons:Ext.MessageBox.OK,
          icon:Ext.MessageBox.ERROR,
          msg:action.result.msg,
          title: 'Fejl'
        });        
      },
      clientValidation : false
    })
  }
}

cmv.menu.wrc.add(cmv.kammeratpokal.panel);
