Virus, protests batter Thailand