public void actionPerformed(ActionEvent e) {
			JButton currentButton = (JButton) e.getSource();
			final int index = (int) currentButton.getClientProperty("index");
			day = (index < COL) ? 0 : 1;
			time = index % COL;

			if (selectMany) {
				Color btnBack = currentButton.getBackground();
				if (btnBack.equals(Color.white)) {
					if ((int) currentButton.getClientProperty("availability") == 0)
						setColor(currentButton, 1);
					else
						setColor(currentButton, 3);
					availability[day][time] = !availability[day][time];
				} else
					if (btnBack.equals(Color.orange)) {
						setColor(currentButton, 0);
						availability[day][time] = !availability[day][time];
					} else
						if (obeyConflict()) {
							currentButton.setEnabled(true);
							currentButton.setBackground(Color.white);
							availability[day][time] = !availability[day][time];
						}
			} else
				if (obeyConflict()) {
					for (JButton btn : button) {
						if ((boolean) btn.getClientProperty("original")) {
							btn.setBackground(Color.darkGray);
							btn.setEnabled(true);
						} else {
							setColor(btn, (int) btn.getClientProperty("availability"));
						}
					}
					currentButton.setBackground(Color.green);
					currentButton.setEnabled(false);
				}
		}