Ext.namespace('cmv.membership');

cmv.membership.displayed=false;

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

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

cmv.membership.panel = new Ext.form.FormPanel({
  id:'cmvmenuitem5-panel',
  title: 'Om klubben > Bliv medlem',
  frame: true,
  iconCls: 'icon-form',
  unstyled: false,
  border: false,
  autoScroll: true,
  labelWidth: 200,
  defaults:{
    xtype:'compositefield'
  },
  items:[{
    xtype:'fieldset',
    title: 'Medlemsfordele',
    collapsible: true,
    collapsed: true,
    items :{
      hideLabel: true,
      xtype: 'displayfield',
      id: 'cmvmembershipinfo'
    }
  },

  {
    defaults:{
      allowBlank:false,
      xtype     : 'textfield',
      flex:1
    },
    items: [
    {      
      fieldLabel: 'Fornavn',
      name:'Fornavn'
    },
    {
      fieldLabel: 'Mellemnavn',
      allowBlank:true,
      name:'Mellemnavn'
    },
    {
      fieldLabel: 'Efternavn',
      name:'Efternavn'
    }
    ]
  },{
    defaults:{
      allowBlank:false,
      xtype     : 'textfield',
      flex:1
    },
    items: [
    {      
      fieldLabel: 'Adresse',
      flex     : 3,
      name:'Vej'
    },
    {
      xtype:'combo',
      id:'membershippostnr',
      fieldLabel:'Postnr',
      name:'Postnr',
      hiddenName:'Postnr',
      store:cmv.membership.postnrStore,
      displayField: 'text',
      valueField: 'value',
      typeAhead: true,
      triggerAction: 'all',
      mode: 'local',
      emptyText: 'Vælg postnr',
      selectOnFocus: true,
      forceSelection: true
    }
    ]
  },{
    defaults:{
      allowBlank:false,
      xtype     : 'textfield',
      flex:1
    },
    items: [
    {
      fieldLabel: 'Telefon',
      vtype:'phone',
      name:'Telefon'
    },
    {
      fieldLabel: 'e-mail',
      vtype:'email',
      name:'Email'
    },
    {
      xtype:'datefield',
      fieldLabel: 'fødselsdag',
      format: Date.patterns.ShortDate,
      name:'Birthday'
    }
    ]
  },{    
    allowBlank:true,
    xtype     : 'checkbox',
    checked: false,
    fieldLabel: 'DCU Motion medlemskort (kr. 25,-)',
    name:'medlemskort'
  },{
    xtype:'fieldset',
    title: 'Vejledning',
    collapsible: true,
    collapsed: true,
    items :{
      hideLabel: true,
      xtype: 'displayfield',
      id: 'cmvmembershiphow'
    }
  }
  ],
  buttonAlign:'center',
  buttons: [{
    text: 'OK',
    id: 'cmvmembershipOK',
    handler: function(){
      if(cmv.membership.panel.getForm().isValid()){
        Ext.Msg.confirm('Jeg ønsker medlemsskab af Cykel Motion Viborg.','Jeg er indeforstået med at købe klubtøj til anvendelse ved træning.',
          cmv.membership.ProcessResult)
      }
    }
  },{
    text: 'Nulstil',
    id: 'cmvmembershipnulstil',
    handler: function(){
      cmv.membership.panel.getForm().reset();
      cmv.membership.initiate();
    }
  }],
  listeners:{
    activate: {
      fn: function(panel){
        if(!cmv.membership.displayed)
        {
          cmv.membership.postnrStore.load();
          cmv.membership.displayed=true;
        }
      }
    }
  }
})

cmv.membership.initiate=function(){
  Ext.getCmp('membershippostnr').setValue(8800);
  var rec=cmv.membership.info.getAt(0);
  Ext.getCmp('cmvmembershipinfo').setValue(rec.get('Tekst'));
  rec=cmv.membership.info.getAt(1);
  Ext.getCmp('cmvmembershiphow').setValue(rec.get('Tekst'));
}
cmv.membership.ProcessResult=function(btn)
{
  if(btn=='yes')
  {
    cmv.membership.panel.getForm().submit({
      url:'json/savemembershipinfo.php',
      success:function(form,action){        
        Ext.Msg.show({
          buttons:Ext.MessageBox.OK,
          icon:Ext.MessageBox.INFO,
          msg:action.result.msg,
          title: 'Status'
        });
        cmv.membership.panel.getForm().reset();
        cmv.membership.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.membership.panel);
