Just get results from the first url if you have no results, then return 0 in GetCurrentMode and return another URL in GetDownloadURL, then parse the results of the second URL.
Or if you want to have all results combined:
Get the first set of results save it in memory and return 2 in ParsePage, but do not return any search results and do not change the mode returned in GetCurrentMode. Then get the second set of results, return 2 in ParsePage and do not forget to AddSearchResult boths sets of results this time.