var iesCCResults = [];    
var iesCCSearch = ['costCenter','description','fundType','fund','organization','projectTask','costCenterId'];
var iesCCAttr = ['searchTable','searchCount','fundIn','fundLike','fundTypeIn','fundTypeLike','ccType',
	'organizationIn','organizationLike','projectTaskIn','projectTaskLike','effectiveDate','ccLocked','ccEnabled','ccPrimary'];
var iesCCDynAttr = [['dynEffectiveDate','effectiveDate']];

function iesSearchCC(autocompleter, token) {
  	params = [];
  	for(var i = 0; i < iesCCAttr.length; i++) {
  		attr = iesCCAttr[i]
	    if(autocompleter.update.getAttribute(attr)) {
	    	params[params.length] = attr;
	    	params[params.length] = autocompleter.update.getAttribute(attr);    		
	    } 
  	}
  	for(var i = 0; i < iesCCDynAttr.length; i++) {
  		dynattr = iesCCDynAttr[i][0];
  		attr = iesCCDynAttr[i][1];
	    if(autocompleter.update.getAttribute(dynattr)) {	    
	    	params[params.length] = attr;	    	
	    	params[params.length] = iesGetValue(autocompleter.update, dynattr);
	    } 
  	}  	
	iesCostCenterSearch.executeSearch(token, params, function(suggestions) {
    	autocompleter.setChoices(suggestions);
	});
}
    
function iesCCDefaultRegFxn(inputId) {
	iesCCResults[inputId] = $(inputId).value;
}    
    
function iesCCSelected(inputElement, selectedElement, ccObj) {
	iesCCResults[inputElement.id] = ccObj.costCenter;
	for(var i = 0; i < iesCCSearch.length; i++) {	
	   iesSetValue(inputElement,iesCCSearch[i],eval("ccObj." + iesCCSearch[i]));
	}
	inputElement.value = iesCCResults[inputElement.id];
}

function iesCCValueSelector(ccObj) {
	if(ccObj)
		return ccObj.costCenter + ' (' + ccObj.description + ')';
	return '';		
}

function iesCheckCCValidity(iesInput) {
	if(!iesCCResults[iesInput.id]||iesInput.value!==iesCCResults[iesInput.id]) {
		iesInput.value=iesGetInvalidMessage(iesInput);
		iesCCResults[iesInput.id] = null;
		for(var i = 0; i < iesCCSearch.length; i++) {
		   iesSetValue(iesInput,iesCCSearch[i],'');
		}
	}
}
	
function iesClearCCOut(iesInput) {
	if(iesInput.value==iesGetInvalidMessage(iesInput)||!iesCCResults[iesInput.id]||iesInput.value!==iesCCResults[iesInput.id]) {
		iesInput.value='';
		iesCCResults[iesInput.id] = null;
		for(var i = 0; i < iesCCSearch.length; i++) {
		   iesSetValue(iesInput,iesCCSearch[i],'');
		}
	}
}
