Ext.ns("org.piercecountywa.salaryclassification.view");
org.piercecountywa.salaryclassification.view.SalarySearchGrid = Ext.extend(Ext.grid.GridPanel, {
	autoScroll:true

	,
	listeners:{
		rowclick: function(grid,rowIndex,e){
			var record = grid.getStore().getAt(rowIndex);
			var jobclass = record.get('job_class');
			var jobtitle = record.get('job_title');
			var jobtitle = jobtitle.replace(/\s+/g,'');
// todo: Uncomment following line when document feature is ready.			
//			cdWindow = document.open("salaryclassdoc.cfm?job_class="+jobclass,"cdWindow","left=300,top=300");
		}
	}
	
	,
    initComponent: function(){
 		this.model=this.initialConfig.model;
 		this.selModel = new Ext.grid.RowSelectionModel({
	    					singleSelect : true
	    					});						
	//	this.selModel.on('click',this.displayClassDesc,this);
	//	this.cm.on('click',this.displayClassDesc,this);
  	//	this.store.on('click',this.displayClassDesc,this);
	//this.searchButton.on('click',this.handleButtonClicked,this);
	
     	this.store = this.model.getStore();
     	this.externalUser = this.initialConfig.externalUser=="true"?true:false;
	 
 	 	this.cm = new Ext.grid.ColumnModel([
			{align:'center',sortable:true,width:56, header:'Job Class',dataIndex:'job_class',		 hidden:this.externalUser},
			{align:'left',	sortable:true,width:265,header:'Job Title',dataIndex:'job_title', hideable:false, css:'color:#404ca0'},		
			{align:'left',	sortable:true,width:150,header:'Bargain Unit/Grid Type',
																	   dataIndex:'bargain_unit_name',hidden:this.externalUser},
			{align:'center',sortable:true,width:46, header:'Rate Yr',  dataIndex:'range_eff_dt',	 hidden:this.externalUser, renderer:this.renderYear},
			{align:'center',sortable:true,width:37, header:'Em Ty',	   dataIndex:'empl_group',		 hidden:this.externalUser},
			{align:'center',sortable:true,width:29, header:'EEO',	   dataIndex:'eeo_cd',			 hidden:this.externalUser},
			{align:'center',sortable:true,width:48, header:'Med Aid',  dataIndex:'med_aid_cd',		 hidden:this.externalUser},
			{align:'center',sortable:true,width:32, header:'Merit',	   dataIndex:'merit_step',		 hidden:this.externalUser},
			{align:'center',sortable:true,width:52, header:'Step Incr',dataIndex:'steps_to_increase',hidden:this.externalUser},
			{align:'center',sortable:true,width:36, header:'A/F/H',	   dataIndex:'type_cd',			 hidden:this.externalUser},
			{align:'center',sortable:true,width:35, header:'BU ID',	   dataIndex:'bargain_unit',	 hidden:this.externalUser},
			{align:'center',sortable:true,width:40, header:'Range',	   dataIndex:'pay_range',		 hidden:this.externalUser},
			{align:'center',sortable:true,width:49, header:'1st Step', dataIndex:'first_pay_step',	 hidden:this.externalUser},
			{align:'right', sortable:true,width:65, header:'Step 1',   dataIndex:'rate1',	renderer:this.renderTwoDecimals},
			{align:'right', sortable:true,width:45, header:'Step 2',   dataIndex:'rate2',	renderer:this.renderTwoDecimals},
			{align:'right', sortable:true,width:45, header:'Step 3',   dataIndex:'rate3',	renderer:this.renderTwoDecimals},
			{align:'right', sortable:true,width:45, header:'Step 4',   dataIndex:'rate4',	renderer:this.renderTwoDecimals},
			{align:'right', sortable:true,width:45, header:'Step 5',   dataIndex:'rate5',	renderer:this.renderTwoDecimals},
			{align:'right', sortable:true,width:45, header:'Step 6',   dataIndex:'rate6',	renderer:this.renderTwoDecimals},
			{align:'right', sortable:true,width:45, header:'Step 7',   dataIndex:'rate7',	renderer:this.renderTwoDecimals},
			{align:'right', sortable:true,width:45, header:'Step 8',   dataIndex:'rate8',	renderer:this.renderTwoDecimals},
			{align:'right', sortable:true,width:45, header:'Step 9',   dataIndex:'rate9',	renderer:this.renderTwoDecimals},
			{align:'right', sortable:true,width:45, header:'Step 10',  dataIndex:'rate10',	renderer:this.renderTwoDecimals},
			{align:'right', sortable:true,width:45, header:'Step 11',  dataIndex:'rate11',	renderer:this.renderTwoDecimals},
			{align:'right', sortable:true,width:45, header:'Step 12',  dataIndex:'rate12',	renderer:this.renderTwoDecimals},
			{align:'right', sortable:true,width:45, header:'Step 13',  dataIndex:'rate13',	renderer:this.renderTwoDecimals}
		]);	
	org.piercecountywa.salaryclassification.view.SalarySearchGrid.superclass.initComponent.call(this);
    },
    renderTwoDecimals:function(value){
	 	if (!value) return;	// Do nothing and return if the value is blank.
		var num = new Number(value); 
		return num.toFixed(2);
     },
   	renderYear:function(value){
     	return value.substring(0,4)
     },
	getProjName:function(){
			return this.proj_name;		
	},
	displayClassDesc:function(value){
		alert(value);
	},
	clearGrid:function(){
	//	debugger;
		this.store.removeAll();
	}
});
Ext.reg('SalClassSearchpanel', org.piercecountywa.salaryclassification.view.SalarySearchGrid);
