public void actionPerformed(ActionEvent e){
			if(e.getSource() == btnSearch){
				//DB query to populate doctor names
				//"Doctor Name", "Phone Number", "Room Number", "Availability", "Average Rating"
				String spec = (String) boxSpecialty.getSelectedItem();
				int count = table.getRowCount();
				for(int i=0; i<count; i++){
					model.removeRow(0);
				}
				model.fireTableRowsDeleted(0, count);
				
				ArrayList<Doctor> docList = parent.getHandler().getDoctorsBig();
				int docNum = docList.size();
				for(Doctor d: docList){
					if(d.getSpeciality().equals(spec)){
						ArrayList<Availability> availList= parent.getHandler().getDoctorAvailability(d.getUsername());
						for(Availability a: availList){
							Object[] nextRow = {d.getfName() + " " + d.getlName(), d.getWorkphone(), d.getRoomNo(), a.getDay() + " : " + a.getFrom() + " - " + a.getTo(), parent.getHandler().getDoctorRating(d.getUsername())}; 
							model.addRow(nextRow);
						}
					}
				}
			}
			else if(e.getSource() == btnRequestAppointment){
				//DB quest to request appointment
				String docName = (String) table.getValueAt(table.getSelectedRow(), 0);
				Scanner scan = new Scanner(docName);
				String fName = scan.next();
				String lName = scan.next();
				String docUsername = parent.getHandler().getDoctorUsername(fName, lName);
				
				if(parent.getHandler().getAppointmentsByPair(docUsername, username).size() == 0){
					scan = new Scanner((String) table.getValueAt(table.getSelectedRow(), 3));
					scan.next();
					scan.next();
					String startTime = scan.next();
					parent.getHandler().addNewAppointments(docUsername, username, "2014-04-30", startTime);
				}
				else{
					
				}
			}
			else if(e.getSource() == btnBack){
				CardLayout cl = (CardLayout) parent.getContentPane().getLayout();
				parent.getContentPane().remove(parent.getContentPane().getComponents().length-1);
				cl.last(parent.getContentPane());
			}
		}