I would highly recommend ordering as soon as you can, simply due to the fact that the mail delays can occur. I'd say order within this week to ensure that you'll get your package in time. Placing an order anytime afterward could result in a package arriving after Christmas. Hope this helps!
Janine's advice is right on. Shipping this time of year can be iffy, so unless you want to pay for expedited shipping, I'd order right away. I have had packages coming via UPS take a couple of extra days if your item gets diverted or somehow delayed, UPS is worse than USPS in that way for me.