Ext.ns('ES');

ES.ElectricityCounterEntry_Form = Ext.extend(Ext.FormPanel,{
  frame:true,
  border:true,
  labelWidth:100,
  height:280,
  autoload:null
  ,buttons: [{text: 'Sauver'}]
  ,initComponent:function() {
    var config = {
    layout:'form'
    ,buttonAlign:'right'
    ,frame:false
    ,border:true
    ,bodyStyle:'padding:10px'
    ,items:[{
      title:"consommation d'electricité : "
      ,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:'Valeurs heures pleines [KWh]'
        ,hidden: false
        ,hideLabel: false
        ,allowBlank:false
      },{
        xtype:'ESNumber'
        ,name:'valuehc'
        ,fieldLabel:'Valeurs heures creuses [KWh]'
        ,allowBlank:false
      },{
        xtype:'ESNumber'
        ,name:'price'
        ,fieldLabel:'Prix [CHF]'
        ,allowBlank:false
      },{
        xtype:'datefield'
        ,name:'startdate'
        ,allowBlank:false
        ,id:'startdate'
        ,format:'d/m/Y'
        ,fieldLabel:'Date de début'
        ,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'
        ,allowBlank:false
        ,id:'enddate'
        ,name:'enddate'
        ,fieldLabel:'Date de fin'
        ,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.ElectricityCounterEntry_Form.superclass.initComponent.call(this);
  } // end of function initComponent
  ,onRender:function() {
    // call parent
    ES.ElectricityCounterEntry_Form.superclass.onRender.apply(this, arguments);
  } // eo function onRender
  ,setFairtypeView: function(fairtype) {
    this.fairtype=fairtype;
    if(fairtype=="simple"){
      this.setLabel('value','Valeur [KWh]');
      this.getField('valuehc').hide();
      var f = this.getForm().findField('valuehc');
      f.container.up('div.x-form-item').hide();
    }
  }
  ,isValid:function(){
    if(this.fairtype=='double'){
      return(this.getField('value').isValid() && this.getField('valuehc').isValid() && this.getField('price').isValid() && this.getField('startdate').isValid() && this.getField('enddate').isValid());
    }
    if(this.fairtype=='simple'){
      return(this.getField('value').isValid() && this.getField('price').isValid() && this.getField('startdate').isValid() && this.getField('enddate').isValid());
    }
  }
  ,getField:function(fieldName){
    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('ESelectricitycounterentryform', ES.ElectricityCounterEntry_Form);

