cmv.mypage.displayed=false;

cmv.mypage.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.mypage.orderStore.load();
      }
    }
  }
});

cmv.mypage.personalpanel = new Ext.form.FormPanel({
  title:'Mine persondata',
  flex: 1,
  iconCls: 'icon-form',
  collapsible: false,
  autoScroll: true,
  layout: 'form',
  split: false,
  border: false,
  buttonAlign:'center',
  buttons: [{
    text: 'Gem',
    id: 'cmvmypagegem',
    disabled: true,
    handler: function(){
      if(cmv.mypage.personalpanel.getForm().isValid()){
        Ext.Msg.confirm('Ønsker du at opdatere dine personlige data?','',
          cmv.mypage.ProcessResult)
      }
    }
  },{
    text: 'Nulstil',
    id: 'cmvmypagenulstil',
    disabled: true,
    handler: function(){
      cmv.mypage.personalpanel.getForm().reset();
      cmv.mypage.personalpanel.buttons[0].disable();
      cmv.mypage.personalpanel.buttons[1].disable();

    }
  }]
});

cmv.mypage.orderspanel = new Ext.Panel({
  title:'Mine ordre',
  width: 450,
  iconCls: 'icon-grid',
  collapsible: false,
  autoScroll: true,
  layout: 'fit',
  split: false,
  border: false,
  defaults:{
    border:false,
    frame:true
  }
});

cmv.mypage.tilmeldingerpanel = new Ext.Panel({
  title:'Tilmeldinger / Bestillinger',
  flex: 3,
  iconCls: 'icon-grid',
  collapsible: false,
  autoScroll: true,
  layout: 'auto',
  split: false,
  border: false,
  defaults:{
    border:false,
    frame:true
  }
});

cmv.mypage.panel = new Ext.Panel({
  //title:'Min side',
  id:'cmvmenuitem17-panel',
  iconCls: 'icon-grid',
  margins: '0 5 0 5',
  collapsible: false,
  autoScroll: true,
  cmargins: '0 5 0 5', // adjust top margin when collapsed
  layout: 'hBox',
  layoutConfig: {
    align : 'stretch',
    pack  : 'start'
  },
  split: false,
  border: false,
  defaults:{
    border:false,
    frame:true
  },
  items:[cmv.mypage.personalpanel,cmv.mypage.orderspanel,cmv.mypage.tilmeldingerpanel],
  listeners:{
    activate: {
      fn: function(panel){
        //Collapse opslagstavlen
        cmv.opslag.Panel.collapse();
        if(!cmv.mypage.displayed)
        { 
          cmv.mypage.postnrStore.load();
          cmv.mypage.tilmeldingerpanel.add(new cmv.mypage.SignupGrid({
            signedup:false,
            title: 'Aktiviteter du kan tilmelde dig / Ting du kan bestille'
          }));
          cmv.mypage.tilmeldingerpanel.add(new Ext.Spacer({
            height: 5
          }));
          cmv.mypage.tilmeldingerpanel.add(new cmv.mypage.SignupGrid({
            signedup:true,
            title: 'Aktiviteter du er tilmeldt / Ting du har bestilt'
          }));
          cmv.mypage.tilmeldingerpanel.add(new Ext.Spacer({
            height: 5
          }));
          cmv.mypage.tilmeldingerpanel.add(new cmv.mypage.HelperGrid({
            title: 'Aktiviteter du skal hjælpe med'
          }));
        }
      }
    }
  }
});

cmv.mypage.orderStore=new Ext.data.JsonStore({
  // store configs
  autoDestroy: false,
  url: 'json/orders.php',
  remoteSort: true,
  storeId: 'cmvmypageorders',
  // reader configs
  idProperty: 'id',
  root: 'data',
  totalProperty: 'total',
  fields: [{
    name: 'id',
    type: 'int'
  },{
    name: 'date',
    type: 'date',
    dateFormat: Date.patterns.ISO8601Long
  },{
    name: 'memberid',
    type: 'int'
  },{
    name: 'dateorder',
    type: 'date',
    dateFormat: Date.patterns.ISO8601Long
  },{
    name: 'datedeliver',
    type: 'date',
    dateFormat: Date.patterns.ISO8601Long
  },{
    name: 'datepayed',
    type: 'date',
    dateFormat: Date.patterns.ISO8601Long
  },{
    name: 'discount',
    type: 'int'
  }],
  listeners:{
    load: {
      fn: function(store, record, operation){
        var orders=new Ext.TabPanel({
          activeTab: 0,
          enableTabScroll:true
        });
        store.each(function(rec){
          orders.add(new cmv.mypage.OrderGrid({
            orderid:rec.get('id'),
            orderdate:rec.get('date'),
            paydate:rec.get('datepayed'),
            tools:[{
              id:'print',
              handler:function(event, toolEl, panel){
                var win = window.open('', 'printgrid');
                win.document.write(panel.invoice());
                win.document.close();
              },
              qtip:'Print faktura'
            }]
          }));
        })
        cmv.mypage.orderspanel.add(orders);
        cmv.mypage.personalstore.load();
      }
    }
  }
});

cmv.mypage.personalstore = new Ext.data.JsonStore({
  // store configs
  autoDestroy: false,
  url: 'json/personal.php',
  storeId: 'cmvmypagepersonal',
  // reader configs
  idProperty: 'id',
  root: 'data',
  totalProperty: 'total',
  fields: [{
    name: 'id',
    type: 'int'
  }, {
    name: 'Fornavn'
  }, {
    name: 'Mellemnavn'
  }, {
    name: 'Efternavn'
  }, {
    name: 'vej'
  }, {
    name: 'Postnr'
  }, {
    name: 'Telefon'
  }, {
    name: 'email'
  },{
    name: 'Birthday',
    type: 'date',
    dateFormat: Date.patterns.ISO8601Long
  },{
    name: 'kvinde',
    type: 'boolean'
  },{
    name: 'Photo',
    type: 'boolean'
  },{
    name: 'Giromail',
    type: 'boolean'
  }],
  listeners:{
    load: {
      fn: function(store, record, operation){
        if(!cmv.mypage.displayed)
        {
          cmv.mypage.personalpanel.removeAll();
          var rec=store.getAt(0);
          if(rec.get('Photo'))
            cmv.mypage.pic='<img src="php/view_memberphoto.php?idx='+rec.get('id')+'">';
          else
            cmv.mypage.pic='<img src="images/'+(rec.get('kvinde')?'fe':'')+'male_silh.jpg">';          
          cmv.mypage.personalpanel.add([{
            xtype:'container',
            html:cmv.mypage.pic
          },
          {
            xtype:'tabpanel',
            deferredRender: false,
            id:'personaldataform',
            activeTab: 1,
            defaults:{
              autoHeight:true,
              labelAlign:'top',
              layout:'form',             
              frame:true,
              border:false
            }, 
            items:[{
              title:'Person oplysninger',   
              defaultType: 'cmvmypagetextfield',
              items: [{
                fieldLabel:'Fornavn',
                value: rec.get('Fornavn')
              },{
                fieldLabel:'Mellemnavn(e)',
                name: 'Mellemnavn',
                value: rec.get('Mellemnavn'),
                allowBlank:true
              },{
                fieldLabel:'Efternavn',
                value: rec.get('Efternavn')
              },{
                xtype:'datefield',
                allowBlank:false,
                format: Date.patterns.ShortDate,
                fieldLabel:'Fødselsdag',
                name:'Birthday',
                value: rec.get('Birthday'),
                width:145,
                listeners:{
                  change:{
                    fn: function(field, newVal, oldVal){
                      var frm=this.ownerCt.ownerCt.ownerCt;
                      frm.buttons[0].enable();
                      frm.buttons[1].enable();
                    }
                  }
                }
              }]
            },{
              title:'Kontakt oplysninger',
              layout:'form',
              defaultType: 'cmvmypagetextfield',
              items: [{
                fieldLabel:'Adresse',
                value: rec.get('vej')
              },{
                xtype:'combo',
                fieldLabel:'Postnr',
                name:'Postnr',
                hiddenName:'Postnr',
                store:cmv.mypage.postnrStore,
                displayField: 'text',
                valueField: 'value',
                typeAhead: true,
                triggerAction: 'all',
                mode: 'local',
                emptyText: 'Vælg postnr',
                selectOnFocus: true,
                forceSelection: true,
                value: rec.get('Postnr'),
                listeners:{
                  change:{
                    fn: function(field, newVal, oldVal){
                      var frm=this.ownerCt.ownerCt.ownerCt;
                      frm.buttons[0].enable();
                      frm.buttons[1].enable();
                    }
                  }
                }
              },{
                fieldLabel:'Telefon',
                value: rec.get('Telefon'),
                vtype:'phone'
              },{
                fieldLabel:'Email',
                value: rec.get('email'),
                vtype:'email'
              },{
                fieldLabel:'Kontingentopkrævning via e-mail',
                xtype:'checkbox',
                checked: rec.get('Giromail'),
                name:'Giromail',
                listeners:{
                  check:{
                    fn: function(field, newVal, oldVal){
                      var frm=this.ownerCt.ownerCt.ownerCt;
                      frm.buttons[0].enable();
                      frm.buttons[1].enable();
                    }
                  }
                }
              }]
            }]
          },{
            xtype:'fieldset',
            title: 'Vejledning',
            collapsible: true,
            collapsed: true,
            items :{
              hideLabel: true,
              xtype: 'displayfield',
              value: 'Her kan du ændre de personlige oplysninger klubben har på dig.<br>OBS. Ændrer du telefonnummer bliver det dit nye login.<hr>Tryk <b>Gem</b> og OK for at accepter ændringer.<hr>Tryk <b>Nulstil</b> for at få de uændrede data tilbage.'
            }
          }]);
          cmv.mypage.displayed=true;
          cmv.mypage.personalpanel.buttons[0].disable();
          cmv.mypage.personalpanel.buttons[1].disable();
        }
        cmv.mypage.panel.doLayout();
      }
    }
  }
});

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

cmv.mypage.ProcessResult=function(btn)
{
  if(btn=='yes')
  {
    cmv.mypage.personalpanel.getForm().submit({
      url:'json/savepersonal.php',
      success:function(form,action){
        Ext.Msg.alert('Opdatering af personlige data OK', action.result.msg);
        cmv.mypage.displayed=false;
        cmv.mypage.personalstore.reload();
      },
      failure:function(form,action){
        Ext.Msg.alert('Fejl: Dine personlige data er ikke opdateret', action.result.msg);
      },
      clientValidation : false
    })
  }
}
