Nearly 300 blood drives canceled due to weather