     filterParam = @get(multiFilter)
 
     if !!filterParam
-      filterParams = if Ember.isArray(filterParam) then filterParam else filterParam.split(',')
-      filterParams.forEach (fp) =>
-        multiFilterKey = @get('multiFilters')[multiFilter]
-        multiFilterRecord = @store.find(multiFilterKey,fp)
-        multiFilterSelected.pushObject(multiFilterRecord)
-
-    Ember.RSVP.all(multiFilterSelected).then((resolvedMultiFilters) =>
-      multiFilterSelected = resolvedMultiFilters
-    ).finally =>
-      @removeObserver(multiFilter)
-      @set("#{multiFilter}Selected",multiFilterSelected)
+      @_allFilters(multiFilter).then((multiFilters) =>
+        filterParams = if Ember.isArray(filterParam) then filterParam else filterParam.split(',')
+        filterParams.forEach (fp) =>
+          multiFilterSelected.pushObject(multiFilters.findBy('id',fp))
+      ).finally =>
+        @removeObserver(multiFilter)
+        @set("all#{filterParam.capitalize()}Selected",@_allSelected(filterParam))
+        @set("#{multiFilter}Selected",multiFilterSelected)
 
   multiFilterSelectedObserver: (sender,key) ->
     filterParam = key.replace('Selected.@each','')
-    filterSelected = @get(key.replace('@each',''))
+    filterSelected = @get(key.replace('.@each',''))
+
+    @set("all#{filterParam.capitalize()}Selected",@_allSelected(filterParam))
 
     if !!filterSelected
       filterSelected.setEach('isFiltering',true)

    if !!value
      @set(key,value.id)

    filterIds = @get(key)

    if !!filterIds
      key = @get('filters')[key]
      filter = @store.find(key,filterIds)

    filter

  _selectAll: (filterName, filters) ->
    filters.setEach('isFiltering',true)
    @set("#{filterName}Selected",filters)
    return

    return

  actions:
    selectAll: (filterName) ->
      allFilters = @_allFilters(filterName)
      allSelected = @_allSelected(filterName)
      allFilters.setEach('isFiltering',!allSelected)
      if allSelected
        @set("#{filterName}Selected",[])
      else
        @set("#{filterName}Selected",allFilters.get('content'))
    select: (filterName, filters) ->
      if Ember.isArray(filters)
        @_selectMultiple(filterName, filters)
      else
        @_select(filterName, filters)
)
