#**
 *  Query settings for grouping by fields,
 *  e.g.: Manufacturer or Popularity
 *#

#set($queryOpts = $params.get("queryOpts"))

#if($queryOpts == "group")
  <div>
    #set($groupF = $request.params.get('group.field'))

    <label #annTitle("Add the &group.field parameter. Multiselect is supported")>
      Group By:
      <select id="group" name="group.field" multiple="true">
        ## TODO: Handle multiple selects correctly
        ## TODO: fix empty / "No Group" selection

        <option value=""
          #if($groupF == '')selected="true"#end
        >
          No Group
        </option>

        <option value="manu_exact"
          #if($groupF == 'manu_exact')selected="true"#end
        >
          Manufacturer
        </option>

        <option value="popularity"
          #if($groupF == 'popularity')selected="true"#end
        >
          Popularity
        </option>

      </select>
    </label>  

    <input type="hidden" name="group" value="true"/>

  </div>

#end
