Had a very similar problem to this on my car shortly after buying it. Turns out it was the o2 sensors on their way out.
That's pure speculation though and the only way you can get any real certainty in an answer right now is to hook it up to a computer / scanner and pull the codes. If it's the o2 sensors starting to fail, then they should almost certainly be throwing a code. Generally speaking anything that's failing to a point of crippling the car THAT bad will almost certainly present with some kind of error code.
That would be my first stop, then we can go from there. Otherwise you'll start blowing money on random parts trying to solve it and wind up spending more than a dealer would charge in the first place!!