private final boolean completeService() throws MaxServices, FatalError {

		try {
			String s = Utils.getString("quests/start");

			if (s.indexOf("/img/images2/max.jpg") != -1) {
				throw new MaxServices();
			}

			String search = "var quests = ";

			int start = s.indexOf(search);
			if (start == -1) {
				return false;
			}

			start = s.indexOf('\n', start + search.length());
			start = s.indexOf('\n', start + 2);
			int end = s.indexOf("]", start) + 1;
			search = s.substring(start, end);

			search = "{list:[" + search + "}";

			JSONObject o = new JSONObject(new JSONTokener(search));
			JSONObject now = o.getJSONArray("list").getJSONObject(
					this.difficult);

			Output.printTabLn("Nehme: \"" + now.getString("title") + "\"", 2);

			Utils.visit("quests/start/" + now.getInt("questId") + "/0");

			Control.sleep(5);

			o = Utils.getJSON("quests/questData");
			int serverTs = o.getJSONObject("time").getInt("server");
			int endTs = o.getJSONObject("time").getInt("realend");

			int centiSeconds = endTs - serverTs;
			centiSeconds *= 10;
			centiSeconds += 250;

			Control.sleep(centiSeconds, 1);

			if (this.difficult == 0) {
				return easyFinish();
			} else {
				return difficultFinish(medicine);
			}

		} catch (JSONException e) {
			throw new MaxServices();
		}

	}