private static String searchMonth(int thisOrNextOrFollowing,
			String decodedSearchString, int currentDay, int currentMonth,
			int currentYear, int currentDayOfMonth, int nextCount,
			int followingCount) {
		int dayOfMonth = currentDayOfMonth - 1;
		String startDayOfMonth = TDTDateMethods.addDaysToCurrentDate(
				currentDay, currentMonth, currentYear,
				Integer.parseInt("-" + dayOfMonth));
		String[] dateParts;
		String dateTemp = "";
		dateParts = startDayOfMonth.split("/");
		int dayTemp = Integer.parseInt(dateParts[0]);
		int monthTemp = Integer.parseInt(dateParts[1]);
		int yearTemp = Integer.parseInt(dateParts[2]);

		// Determines the month to be searched
		if (thisOrNextOrFollowing == 0) {
			return decodedSearchString;
		} else if (thisOrNextOrFollowing == 2 || thisOrNextOrFollowing == 3) {
			int numOfMthToAdd = nextCount + followingCount * 2;
			for (int i = 0; i < numOfMthToAdd; i++) {
				if (monthTemp == 12) {
					monthTemp = 1;
					yearTemp = yearTemp + 1;
				} else {
					monthTemp++;
				}
			}
			startDayOfMonth = dayTemp + "/" + monthTemp + "/" + yearTemp;
		}

		decodedSearchString = decodedSearchString + startDayOfMonth + " ";
		dateTemp = startDayOfMonth;
		dateParts = dateTemp.split("/");

		// Creates the list of dates after the month is determined
		// The list of dates is created starting from the first day of the month
		if (dateParts.length == 3) { // ensure dateTemp not = ""
			int numDayOfMonth = TDTDateMethods.getNumOfDaysFromMonth(
					Integer.parseInt(dateParts[1]),
					Integer.parseInt(dateParts[2]));
			for (int z = 0; z < numDayOfMonth - 1; z++) {
				dateParts = dateTemp.split("/");
				dayTemp = Integer.parseInt(dateParts[0]);
				monthTemp = Integer.parseInt(dateParts[1]);
				yearTemp = Integer.parseInt(dateParts[2]);

				dateTemp = TDTDateMethods.addDaysToCurrentDate(dayTemp,
						monthTemp, yearTemp, 1);
				decodedSearchString = decodedSearchString + dateTemp + " ";
			}
		}
		return decodedSearchString;
	}