   
   # Performs a scoped querySelectAll.
   #
-  # @param [Element] scope the DOM element serving as the search scope
-  # @param [String] selector the CSS selector to query
-  # @return [NodeList, Array] the elements in the scope that match the CSS
+  # @param {HTMLElement} scope the DOM element serving as the search scope
+  # @param {String} selector the CSS selector to query
+  # @return {NodeList, Array} the elements in the scope that match the CSS
   #     selector; the scope container can belong to the returned array
   queryScope: (scope, selector) ->
     scopeMatches = false

    xhrMethod = element.getAttribute('data-pwnfx-refresh-method') || 'POST'
    xhrForm = @parentForm element
    
    onXhrSuccess = ->
      data = @responseText
      scope = PwnFx.resolveScope scopeId, element
      for targetElement in PwnFx.queryScope(scope, targetSelector)
        targetElement.innerHTML = data

  
  # Finds a scoping container.
  #
  # @param {String} scopeId the scope ID to look for
  # @param {HTMLElement} element the element where the lookup starts
  # @return {HTMLElement} the closest parent of the given element whose
  #     data-pwnfx-scope matches the scopeId argument; window.document is
  #     returned if no such element exists or if scope is null
  resolveScope: (scopeId, element) ->
