* @param tooltip
	 *            - String for the tool tip.
	 */
	@SuppressWarnings("deprecation")
	public void updateAppointmentTimesAvailable(int timeBlockLength,
			boolean enable, String tooltip) {
		AppointmentTimesAvailable.clear();

		int nSelectedDay = calendarAppointments.getDate().getDay();

		if (enable && nSelectedDay != 0) {
			String sHour = "";
			String sMinute = "";
			int nHour = 8;
			int nMinute = 0;

			int start = 480; // 8:00 AM
			int end = 1080; // 6:00 PM

			if (nSelectedDay == 6) // Saturday
			{
				start = 540; // 9:00 AM
				end = 780; // 1:00 PM
			}

			int nVet = cbVet_Appointment.getSelectedIndex();

			if (nVet == -1) {
				return;
			}

			/* Initialize the vet availabilty arrary */
			boolean[] bIsVetAvail = new boolean[(end - start) / 15]; // 16
																		// fifteen
																		// minute
																		// slots
																		// on
																		// Sat,
																		// 40
																		// for
																		// M-F

			for (int i = 0; i < bIsVetAvail.length; i++) {
				bIsVetAvail[i] = true;
			}

			/*
			 * Retrieve the selected day's appointments and determine when the
			 * vets are not available
			 */
			int nDayOfWeek = calendarAppointments.getDate().getDay();
			Vector<Appointment> appointments = new Vector<Appointment>();
			
			switch (nDayOfWeek)
			{
			case 1: 	// Monday
				appointments = Monday_Appointments;
				break;
			case 2:
				appointments = Tuesday_Appointments;
				break;
			case 3:
				appointments = Wednesday_Appointments;
				break;
			case 4:
				appointments = Thursday_Appointments;
				break;
			case 5:
				appointments = Friday_Appointments;
				break;
			case 6:
				appointments = Saturday_Appointments;
				break;
			default:
				break;
			}
			
			for (int i = 0; i < appointments.size(); i++) {
				Appointment appt = appointments.get(i);

				String sTime = appt.getTimeSelected();

				/* Convert sTime to Minutes */
				int nApptHour = Integer.parseInt(sTime.substring(0, 2));
				int nApptMin = Integer.parseInt(sTime.substring(3));
				int nApptStartIndex = (((nApptHour * 60) + nApptMin) / 15)
						- (start / 15);

				int nVetID = appt.getVetID();

				if (nVet == nVetID) {
					// Hour long scheduling
					if (appt.getServiceName().compareTo("Spay/Neuter") == 0) {
						for (int j = nApptStartIndex; j < nApptStartIndex + 4
								&& j < end / 15; j++) {
							bIsVetAvail[j] = false;
						}
					}
					// 15 minute long scheduling
					else {
						bIsVetAvail[nApptStartIndex] = false;
					}
				}
			} // end for loop

			/* Determine which service the new appointment is */
			String sServiceName = "";
			Enumeration<AbstractButton> en = groupAppointmentServices
					.getElements();
			while (en.hasMoreElements()) {
				JRadioButton rb = (JRadioButton) en.nextElement();
				if (rb.isSelected()) {
					sServiceName = rb.getText();
				}
			}

			/*
			 * Populate the available appointment times drop down based on the
			 * vet's availability
			 */
			for (int i = start; i <= end - timeBlockLength; i += timeBlockLength) {
				nHour = (i / 60);
				nMinute = (i % 60);

				sHour = "" + nHour;
				sMinute = "" + nMinute;

				if (nHour < 10) {
					sHour = "0" + nHour;
				}

				if (nMinute < 10) {
					sMinute = "0" + nMinute;
				}

				/*
				 * Make sure there is at least one vet available during the
				 * entire length of the service
				 */
				int nIndex = (i - start) / 15;

				if (sServiceName.compareTo("Spay/Neuter") == 0) {
					// Check the next 3 indexes to see if they are busy. If so,
					// need to block out the 3 blocks before since an hour is
					// needed
					if (nIndex + 3 < (end - start) / 15) {
						if (!bIsVetAvail[nIndex + 1]
								|| !bIsVetAvail[nIndex + 2]
								|| !bIsVetAvail[nIndex + 3]) {
							bIsVetAvail[nIndex] = false;
						}
					} else if (nIndex + 2 < (end - start) / 15) {
						if (!bIsVetAvail[nIndex + 1]
								|| !bIsVetAvail[nIndex + 2]) {
							bIsVetAvail[nIndex] = false;
						}
					} else if (nIndex + 1 < (end - start) / 15) {
						if (!bIsVetAvail[nIndex + 1]) {
							bIsVetAvail[nIndex] = false;
						}
					}
				}

				if (bIsVetAvail[nIndex]) {
					AppointmentTimesAvailable.add(sHour + ":" + sMinute);
				}

			} // end for loop
		} else {
			AppointmentTimesAvailable.add("Select Time");
		}

		cbTime_Appointments.setModel(new DefaultComboBoxModel(
				AppointmentTimesAvailable));

		if (nSelectedDay == 0) {
			cbTime_Appointments.setEnabled(false);
			cbTime_Appointments.setToolTipText("Closed on Sunday");
			btnCreate_Appointments.setEnabled(false);
		} else {
			cbTime_Appointments.setEnabled(enable);
			cbTime_Appointments.setToolTipText(tooltip);
			btnCreate_Appointments.setEnabled(enable);
		}

	}