Ext.ns('sitekeying');

sitekeying.tabPanel = Ext.extend(Ext.TabPanel,{
  activeTab:0
  ,enableTabScroll: true
  ,border: false
  ,collapsible:true
  ,layoutOnTabChange: true
  ,url: '/process/EMBrowser/site/view/load_infos.php'
  ,initComponent:function() {
    var config = { };
     // apply config
    Ext.apply(this, Ext.apply(this.initialConfig, config));
    // call parent initComponent
    sitekeying.tabPanel.superclass.initComponent.call(this);
  } // end of function initComponent
  ,onRender:function() {
    sitekeying.tabPanel.superclass.onRender.apply(this, arguments);
    // after parent code, e.g. install event handlers on rendered components

  } // eo function onRender
  ,refresh:function(tn_id) {
    Ext.Ajax.request({
      url:this.url
      ,waitMsg:'Loading...'
      ,scope:this
      ,method:'GET'
      ,params:{cmd:'load',tn_id:tn_id}
      ,callback:function(var1,var2,response,var3) {
        var result = Ext.util.JSON.decode(response.responseText);
        this.removeAll();
        switch(result.success){
          case true:
            for (x in result.KeyingView){
              if (result.KeyingView.hasOwnProperty(x)) {//if is needed --> bug
                this.add({
                  title:result.KeyingView[x].infos.name,
                  layout: 'column'
                  ,defaults: {
                    columnWidth: 1
                  }
                  ,height: 765
                  ,autoscroll:true
                })
                this.fillTab(this.items.itemAt(x),result.KeyingView[x].divisions);
              }
            }
            this.activate(0);
            this.doLayout();
          break;
          default:
            Ext.MessageBox.alert('Attention',result.error);
          break;
        }
      }
    });
  }
  ,fillTab:function(tab,divisions_infos) {
    var divisionMainPanel = new division.mainPanel({});
    tab.add(divisionMainPanel);
    var divisionLeftPanel = divisionMainPanel.items.itemAt(0);
    for (x in divisions_infos){
      if (divisions_infos.hasOwnProperty(x)) {//if is needed --> bug
        var divisionCounterGrid = new division.counterGrid();
        if(divisions_infos[x].infos.name != "default") {
          divisionCounterGrid.title = ' '+divisions_infos[x].infos.name;
        } else {
          divisionCounterGrid.title = ' &nbsp; ';
        }
        divisionCounterGrid.refresh(divisions_infos[x]);
        divisionLeftPanel.add(divisionCounterGrid);
        divisionMainPanel.initAfterFill();
        divisionCounterGrid.on('rowclick',divisionMainPanel.readCounter,divisionMainPanel);
      }
    }
  }
});

Ext.reg('sitekeyingtabpanel', sitekeying.tabPanel);



