$.fn.domFilter = (options) ->

$input = $(options['input'])

$elementsContainer = $(@)
for selector in options['selector'].split(' ')
  $elementsContainer = $elementsContainer.children(selector)

$(options['input']).on 'keyup change', ->
  inputVal = $input.val().toUpperCase()
  $elementsContainer.each ->
    filterString = String($(@).data('filter'))
    if typeof $(@).data('no-filter') isnt 'undefined' or filterString.toUpperCase().indexOf(inputVal) > -1
      $(@).show()
    else
      $(@).hide()