     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)
-        @_selectAll(filterName, filters)
+        @_selectMultiple(filterName, filters)
       else
         @_select(filterName, filters)
 )

    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

    filterParam = @get(multiFilter)

    if !!filterParam
      @_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',''))

    @set("all#{filterParam.capitalize()}Selected",@_allSelected(filterParam))

    if !!filterSelected
      filterSelected.setEach('isFiltering',true)
