Call this the tale of two cities. The first half of the movie was painfully boring. However, when Jamie Foxx entered the picture, he saved the day. The second half of the movie was decent.
The girl who played Annie was as generic and boring as they come. News outlets are touting her as the star of tomorrow. No way. One hit wonder. Bland, bland, bland. Cameron Diaz (quite literally) did the worst piece of acting that I have seen in 20 years. Her role as wicked foster mom was unconscionably bad. She wrapped up the Razzy for this role.
As bad and generic as Diaz and little Annie were, Foxx was that good. The guy can flat-out act. Also, he sung two songs as well. I was totally blown away at how good his voice was. Without Foxx, this movie would have gone straight to video.