I'd buy them now. If you wait until the last minute you may or may not find a good deal. If you don't then you're hosed because you'll probably end up paying VERY high prices.
It all depends on where you're going, though. Generally, if you can, travel on a Tuesday or a Wednesday to get the best prices. If you can't do that, make sure you're staying over a weekend to get a discount.
Dave