public void showSearchConfig() throws Exception {
		int currentIndexerSpeed = Configuration.instance().getIndexerSpeed();
		int availableSpeedTypes = Indexer.speedNames.length;

		IntervalLevel currentLevel = Configuration.instance()
				.getIndexerInterval();

		this.requestThread.httpStatus(200, "OK");
		this.requestThread.httpAuth("p300");
		this.requestThread.httpContents();

		Layouter layouter = new Layouter(this.requestThread);
		layouter.replaceTitle("Search configuration");
		layouter.replaceBasicStuff();
		this.requestThread.write(layouter.getBeforeMainDiv());

		this.requestThread
				.write("<form action=\"/config/search/setSearch\" method=\"GET\" accept-charset=\"UTF-8\">\n");

		if (this.conf.isShowAdvancedOptions()) {
			this.requestThread.write("<h1>Indexer speed</h1><br>\n");
			this.requestThread.write("  <p>\n");
			this.requestThread.write("    <select name=\"indexerSpeed\">\n");
			for (int i = 0; i < availableSpeedTypes; i++) {
				String selected = "";
				if (i == currentIndexerSpeed) {
					selected = " SELECTED";
				}
				String speedName = Indexer.speedNames[i];
				if (i == Indexer.defaultSpeedValue) {
					speedName += " (Default)";
				}
				this.requestThread.write("      <option value=\""
						+ String.valueOf(i) + '"' + selected + '>' + speedName
						+ "</option>\n");
			}
			this.requestThread.write("    </select>\n");
			this.requestThread.write("  </p>\n");
		}
		this.requestThread.write("<h1>Indexer interval</h1></br>\n");
		this.requestThread.write("  <p>\n");
		this.requestThread.write("    <select name=\"indexerInterval\">\n");
		for (IntervalLevel level : IntervalLevel.values()) {
			String selected = "";
			if (level == currentLevel) {
				selected = " SELECTED";
			}
			String intervalName = level.toString();
			if (level == IndexerThread.defaultInterval) {
				intervalName += " (Default)";
			}
			this.requestThread.write("      <option value=\"" + level.name()
					+ '"' + selected + '>' + intervalName + "</option>\n");
		}
		this.requestThread.write("    </select>");
		this.requestThread.write("  </p>\n");
		this.requestThread.write("  <br>\n");
		requestThread.write(" <p>\n");
		requestThread.write(" <ul>\n");
		requestThread
				.write(" <li>Indexer will always run when p300 is started</li>\n");
		// requestThread.write(" <li>Both settings will be applied
		// immediately.</li>\n");
		// requestThread.write(" <li>Indexer will finish before shutting down if
		// &quot;Only run when changing shares&quot; is selected.</li>\n");
		requestThread.write(" </ul>\n");
		requestThread.write(" </p>\n");
		requestThread.write(" <br>\n");
		this.requestThread.write("  <hr>\n");
		this.requestThread.write("  <input type=\"submit\" value=\"Set\">\n");
		writeAuthKeyFormField (this.requestThread);
		this.requestThread.write("</form>\n");

		this.requestThread.write(layouter.getAfterMainDiv());

		this.requestThread.flush();
		this.requestThread.close();
	}