U.S. President Barack Obama speaks in the rain during a campaign rally in Glen Allen, Virginia