private void addShow(final JPanel pane, String showName)
	{
		//set up the contents of the popup
		final JPanel contents = new JPanel(new BorderLayout());
		contents.setBackground(Color.WHITE);
		
		//add the show
		try
		{
			ArrayList<HashMap<String, String>> entries = Show.search(showName);

			//add the search text
			JTextArea search = new JTextArea("Search: \""+showName+"\". Select your show:");
			search.setEditable(false);
			search.setFont(search.getFont().deriveFont(Font.BOLD));
			contents.add(search, BorderLayout.PAGE_START);

			//create the box for the entries
			Box entriesBox = Box.createVerticalBox();

			//iterate through the entries and add a jpanel for each
			for(int i=0; i< entries.size(); ++i)
			{
				final HashMap<String, String> showEntry = entries.get(i);

				Box entryBox = Box.createHorizontalBox();
				entryBox.setBorder(new LineBorder(Color.BLACK));

				//show name
				JTextArea showText = new JTextArea(showEntry.get("seriesname"));
				showText.setEditable(false);
				showText.setLineWrap(true);
				showText.setWrapStyleWord(true);
				entryBox.add(showText);

				//selection button
				JButton select = new JButton("Select");
				select.addActionListener(new ActionListener()
				{
					public void actionPerformed(ActionEvent e)
					{
						//create the loading spinner
						contents.removeAll();
						contents.add(new JLabel(new ImageIcon(this.getClass().getResource("loading spinner.gif")), SwingConstants.CENTER));
						contents.revalidate();

						new Thread()
						{
							public void run()
							{
								try
								{
									Show show = Show.getShow(showEntry.get("id"), showEntry.get("search"));
									selectSeen(pane, show);
								}
								catch(Exception e)
								{
									manageShows();
								}
							}
						}.start();
					}
				});
				entryBox.add(select);

				//add the entry
				entriesBox.add(entryBox);
			}

			//add the entries list to the top of a panel that fills with empty space
			JPanel entriesList = new JPanel(new BorderLayout());
			entriesList.add(entriesBox, BorderLayout.PAGE_START);
			contents.add(new JScrollPane(entriesList));
		}
		catch(Exception e){}

		pane.removeAll();
		pane.add(contents);
		pane.revalidate();
		
		//re-enable the buttons to allow canceling of a show add
		Main.enableButtons(true);
	}