Ext.ns('ES');

ES.HeatingCounterEntryForm = Ext.extend(Ext.FormPanel,{
  frame:true,
  border:true,
  labelWidth:100,
  height:260,
  layout:'Form',
  width: 608,
  autoload:null
  ,buttons: [{text: 'Sauver'}]
  ,initComponent:function() {
    var config = {
      buttonAlign:'right'
      ,frame:false
      ,border:true
      ,bodyStyle:'padding:10px'
      ,items:[{
        title:'consommation de chauffage :'
        ,layout:'form'
        ,xtype:'fieldset'
        ,border:false
        ,autoHeight:true
        ,defaultType:'textfield'
        ,bodyStyle:'padding:4px'
        ,items:[{
          name:'counter_id'
          ,fieldLabel:'counter_id'
          ,hidden: true
          ,hideLabel: true
         },{
          xtype:'ESNumber'
          ,name:'value'
          ,fieldLabel:'Valeur'
          ,allowBlank:false
        },{
          xtype:'ESNumber'
          ,name:'price'
          ,fieldLabel:'Prix [CHF]'
          ,allowBlank:false
        },{
          xtype:'datefield'
          ,name:'startdate'
          ,id:'startdate'
          ,format:'d/m/Y'
          ,fieldLabel:'Date de début'
          ,allowBlank:false
          ,width: 125
          ,minValue:new Date('01/01/2000 00:00:0 AM GMT-0600')
          ,maxValue:new Date('12/31/2015 00:00:0 AM GMT-0600')
          ,vtype: 'daterange'
          ,endDateField: 'enddate'
        },{
          xtype:'datefield'
          ,format:'d/m/Y'
          ,name:'enddate'
          ,id:'enddate'
          ,fieldLabel:'Date de fin'
          ,allowBlank:false
          ,width: 125
          ,minValue:new Date('01/01/2000 00:00:0 AM GMT-0600')
          ,maxValue:new Date('12/31/2015 00:00:0 AM GMT-0600')
          ,vtype: 'daterange'
          ,startDateField: 'startdate'
        }]
      }]
    };
     // apply config
    Ext.apply(this, Ext.apply(this.initialConfig, config));
    // call parent initComponent
    ES.HeatingCounterEntryForm.superclass.initComponent.call(this);
  } // end of function initComponent
  ,onRender:function() {
    //var dateRangeMin= new Date('1/01/2006 00:00:0 AM GMT-0600');
    ES.HeatingCounterEntryForm.superclass.onRender.apply(this, arguments);
  }
  ,setDatetypeView: function(datetype) {
    this.setLabel('enddate','Date de fin');
    this.datetype=datetype;
    if(datetype=="simple"){
      this.setLabel('enddate','Date de remplissage');
      this.getField('startdate').vtype='';
      this.setField('startdate',this.getField('startdate').minValue.format("d/m/Y"));
      var f = this.getForm().findField('startdate');
      f.container.up('div.x-form-item').hide();
    }
  }
  ,isValid:function (){
    return(this.getField('value').isValid() && this.getField('price').isValid());
  }
  ,setUnitLabel:function(unit) {
    this.setLabel('value', 'Valeur[' +unit+ ']:');
  }
  ,getField:function(fieldName){
    switch(fieldName){
      case 'value':
        return this.items.itemAt(0).items.itemAt(1);
      break;
    }
    return this.getForm().findField(fieldName);
  }
  ,setField:function(fieldName,value){
    this.getField(fieldName).setValue(value);
  }
  ,setLabel: function(fieldName,text){
    var r = this.getForm().findField(fieldName).getEl().up('div.x-form-item');
    r.dom.firstChild.firstChild.nodeValue = String.format('{0}', text);
  }
});

Ext.reg('ESheatingcounterentryform', ES.HeatingCounterEntryForm);



