Ext.namespace('Ext.CC');
Ext.CC.OrderBar = Ext.extend(Ext.Panel, {

	config : {},
	
	searchField : {},
	combo : {},
	combo2 : {},
	radios: {},
	okButton: {},
	
	createOkButton : function(){
		var combo = this.combo;
		var combo2 = this.combo2;
		var radios = this.radios;
		var searchField = this.searchField;
		var config = this.config;
		this.okButton = new Ext.Button({
			text : 'OK',
			cls:'',
			handler : function(){
				var store =	Ext.getCmp(config.gridId).getStore();
				store.baseParams['searchquery'] = searchField.getRawValue();
				store.baseParams['orderid'] = combo.getValue();
				store.baseParams['orderid2'] = combo2.getValue();
				
				if(radios.items.items[0].checked == true){
					store.baseParams['orderdirection'] = 'asc';
				}else if (radios.items.items[1].checked == true){
					store.baseParams['orderdirection'] = 'desc';
				}
				store.reload();
			}
		});
	},
	
	createRadios : function(){
	
	
		this.radios = new Ext.form.RadioGroup({
			items:[
				{
					boxLabel:'<image src="'+CC_webroot+'/js/ext-2.2/resources/images/default/grid/hmenu-asc.gif" />',
					name: 'rb-auto',
					checked : true
				}, 
				{
					boxLabel:'<image src="'+CC_webroot+'/js/ext-2.2/resources/images/default/grid/hmenu-desc.gif" />',
					name: 'rb-auto'
				}
			]
		});
	},	
	
	
	createCombo : function(){
		var Data = [];
		for (var i=0; i<Ext.getCmp(this.config.gridId).initialConfig.cm.config.length-1; i++){
			var header = Ext.getCmp(this.config.gridId).initialConfig.cm.config[i].header;
			var index = Ext.getCmp(this.config.gridId).initialConfig.cm.config[i].dataIndex;
			var temp = [index, header];
			Data.push(temp);
		}
		this.combo = new Ext.form.ComboBox({
		    store: new Ext.data.SimpleStore({
		    	fields: ['egy', 'ketto'],
		 		data : Data
			}),
		    displayField:'ketto',
    		valueField:'egy',
    		editable :false,
		    mode: 'local',
		    width: 120,
		    triggerAction: 'all',
		    selectOnFocus:true
		});
		
		this.combo2 = new Ext.form.ComboBox({
		    store: new Ext.data.SimpleStore({
		    	fields: ['egy', 'ketto'],
		 		data : Data
			}),
		    displayField:'ketto',
    		valueField:'egy',
    		editable :false,
		    mode: 'local',
		    width: 120,
		    triggerAction: 'all',
		    selectOnFocus:true
		});
	},
	
	
	createSearchField : function(){
		var config = this.config;
		this.searchField = new Ext.CC.SearchField({
	    	store: config.gridId
	    });
	},
	
	
	/*sendOrder : function(){
		var store =	Ext.getCmp(this.config.gridId).getStore();
		store.baseParams['searchquery'] = this.searchField.getRawValue();
		store.baseParams['orderid'] = this.combo.getValue();
				
		if(this.radios.items.items[0].checked == true){
			store.baseParams['orderdirection'] = 'asc';
		}else if (this.radios.items.items[1].checked == true){
			store.baseParams['orderdirection'] = 'desc';
		}
		store.reload();
	},*/
	
	height:25,
	width:600,
	layout:'column',
	border:false,
	bodyBorder: false,
	
	initComponent : function(){
		this.createCombo();
		this.createRadios();
		this.createSearchField();
		this.createOkButton();
		this.items =  [
			{	
				border:false,
		        columnWidth: .50,
		        items:[this.searchField]
	        },
			{	
				border:false,
		        width:140,
		        items:[this.combo]
	        },
	        {	
	        	border:false,
	        	width:140,
	        	items:[this.combo2]
	        },
	        {
	        	border:false,
		        columnWidth: .30,
		        items:[this.radios]
	        },
	        {
	        	border:false,
		        columnWidth: .15,
		        items:[this.okButton]
	        }
        ];

		Ext.CC.OrderBar.superclass.initComponent.apply(this, arguments);
	}
});
	
Ext.reg('orderbar', Ext.CC.OrderBar);
	