var gradebookManageAssignmentsPopup = new Ext.Window({
  title: 'Manage Assignment Types',
  layout: 'fit',
  width: 890,
  height: 400,
  closeAction:'hide',
  modal: true,
  plain: true,
  tbar:[
    'Grade Period: ',
    {
      xtype: 'combo',
      id: 'assignquarter',
      width: 50,
      listeners: {
        select : function(combo, record, index){
        Ext.getCmp ('manageAssignmentsGrid').store.baseParams.command = 'submitWeights';
        Ext.getCmp('manageAssignmentsGrid').store.save();
        Ext.getCmp ('manageAssignmentsGrid').store.baseParams.command = 'getCourseCategories';
        }
      }
    },
    {
      xtype: 'tbseparator',
      style:{
        marginLeft: '5px'
      }
    },
    'Course: ',
    {
      xtype: 'combo',
      id: 'assigncourses',
      width: 250,
      listWidth:250,
      name: 'assigncourse',  
      allowBlank: false,    
      emptyText:'Select an course...', 
      displayField: 'course', 
      valueField: 'courseid', 
      valueNotFoundText:"", 
      typeAhead: true, 
      triggerAction: 'all', 
      store: new Ext.data.Store({ url: 'teacher_tools/gradebook_data.json.php', 
        baseParams: {command: 'getcourses'}, 
        autoLoad: false, 
        anchor: '100%',
        reader: new Ext.data.JsonReader({ root: 'getcourses' }, ['courseid', 'course']) }),
      listeners: {
        select : function(combo, record, index){
        Ext.getCmp ('manageAssignmentsGrid').store.baseParams.command = 'submitWeights';
        Ext.getCmp('manageAssignmentsGrid').save();
        Ext.getCmp ('manageAssignmentsGrid').store.baseParams.command = 'getCourseCategories';
        
        Ext.getCmp ('manageAssignmentsGrid').store.baseParams.courseid = Ext.getCmp('assigncourses').getValue();
        Ext.getCmp ('manageAssignmentsGrid').store.baseParams.quarter = Ext.getCmp('assignquarter').getValue();
        Ext.getCmp ('manageAssignmentsCatGrid').store.baseParams.courseid = Ext.getCmp('assigncourses').getValue();
        Ext.getCmp ('manageAssignmentsCatGrid').store.baseParams.quarter = Ext.getCmp('assignquarter').getValue();
        Ext.getCmp('manageAssignmentsGrid').store.load();
        Ext.getCmp('manageAssignmentsCatGrid').store.load();
        }
      }
    }
  ],  
  items: [
    {
      xtype: 'panel',
      layout: 'uxcolumn', 
      defaults: {style: {padding: 15}},
      layoutConfig: {
        fitHeight: true
      },
      border: false,   
      items: [
        new manageAssignmentsCatGrid(),
        {
          xtype: 'panel',
          border: false,
          columnWidth: 0,
          width: 70,
          items: [
            {
              xtype: 'button', id: 'manageAssignmentsArrow', iconCls: 'arrowRight', width: 25, height: 25, 
              handler: function(){
                selectedCats = this.ownerCt.ownerCt.items.items[0].selModel.getSelections();
                for(i = 0; i < selectedCats.length; i++){
                  this.ownerCt.ownerCt.chooseRow(selectedCats[i]);
                }
              }
            }
          ]
        },
        new manageAssignmentsGrid()
      ],
      chooseRow: function(arecord){
        var record = [
          {name: 'category'},
          {name: 'drop'},
          {name: 'catID'}
        ];
        var createRecord = Ext.data.Record.create(record);
        var r = new createRecord({
                	category: arecord.data.category,
                	catID: arecord.data.catID,
                	drop: arecord.data.drop
          });
        
        this.items.items[2].store.add(r);
        this.items.items[0].store.remove(arecord);
      },
      sendRowBack: function(arecord){
        var record = [
          {name: 'category'},
          {name: 'drop'},
          {name: 'catID'}
        ];
        var createRecord = Ext.data.Record.create(record);
          var r = new createRecord({
                  	category: arecord.data.category,
                  	catID: arecord.data.catID,
                  	drop: arecord.data.drop
            });
          
          this.items.items[0].store.add(r);
          this.items.items[2].store.remove(arecord);
      }
    }
  ],         
  buttons: [
    {
      text: 'Close',
      handler: function(btn){ 
         gradebookManageAssignmentsPopup.hide();
      }  
    }
  ],
  listeners: {
      show: function (popup) {
        Ext.getCmp('assignquarter').setValue(SchoolDynamics.getCurrentQtr());  
      },
      hide: function (popup) {
        Ext.getCmp ('manageAssignmentsGrid').store.baseParams.command = 'submitWeights';
        Ext.getCmp('manageAssignmentsGrid').store.save();
        Ext.getCmp ('manageAssignmentsGrid').store.baseParams.command = 'getCourseCategories';
      }       
  }
});
