public static Show getShow(String showID, String search) throws InterruptedException, IOException
	{
		//get the series details xml document
		Document list = Jsoup.connect("http://thetvdb.com/api/"+ShowTracker.apiKey+"/series/"+showID+"/all").timeout(60 * 1000).get();
		Node series = list.getElementsByTag("series").get(0);

		//get the show details
		HashMap<String, String> showDetails = new HashMap<String, String>();
		for(Node field : series.childNodes())
			if(field.getClass().equals(Element.class))
				showDetails.put(((Element) field).tag().getName(), ((Element) field).text());
		showDetails.put("search", search);

		//get the episodes
		LinkedHashMap<String, ArrayList<HashMap<String, String>>> episodes = new LinkedHashMap<String, ArrayList<HashMap<String, String>>>();
		for(Element episodeElement : list.getElementsByTag("episode"))
		{
			//get the episode details
			HashMap<String, String> episode = new HashMap<String, String>();
			for(Node field : episodeElement.childNodes())
				if(field.getClass().equals(Element.class))
					episode.put(((Element)field).tag().getName(), ((Element)field).text());

			//put the episode into the corresponding season
			ArrayList<HashMap<String, String>> season = episodes.get(episode.get("seasonid"));
			if(season == null)
			{
				season = new ArrayList<HashMap<String, String>>();
				episodes.put(episode.get("seasonid"), season);
			}
			season.add(episode);
		}
		
		return new Show(showDetails, episodes);
	}