Small Filter Problem

I’m trying to use one filter function to filter a few different fields from my DataSet. Below is my script that doesn’t work. Now if I take out the “changeItem” from
setFilter = function (changeItem, phaseItem) {
and exchange the rest of the changeItem to the field i’m filtering, it works fine. But since I’d like to filter by field “phase”, filed “country”, field “date”, etc. this doesn’t work. The other way is to create a new filter for each one, but for this basic function it doesn’t seem necessary. Does anyone know what’s wrong with this code?

Thanks


// --- Filter Function ---
setFilter = new Object();
setFilter = function (changeItem, phaseItem) {
	trace(changeItem);
	if (changeItem == "All") {
		myDS.filtered = false;
	} else {
		myDS.filtered = true;
		myDS.filterFunc = function(item:Object) {
			return (item.changeItem == phaseItem);
		};
	}
};
//
phaseListener = new Object();
phaseListener.change = function(event) {
	setFilter(phase, event.target.selectedItem.data);
};
phaseList_lst.addEventListener("change", phaseListener);
//
//
dateListener = new Object();
dateListener.change = function(event) {
	setFilter(date, event.target.selectedItem.data);
};
dateList_lst.addEventListener("change", dateListener);
//