The circuit is called an "H-Bridge" - it is a very common motor control circuit, which can be built using relays (or even ordinary switches), but is commonly built using transistors or MOSFETs (if doing it the discrete way); more commonly one can typically buy H-Bridge driver ICs - for instance, the L298 is a popular small-motor H-Bridge - **broken link removed**
Technically, you can get by with one relay (DPDT), if the contact ratings are greater than the stall current of the motor, and can handle the voltage kickback (otherwise arcing will occur, which could cause the contacts to weld). You're not going to find such relays cheap. Also, sometimes the upper contacts may have a different rating than the lower ones, so you have to keep that in mind, or find a relay where the contacts have the same rating.
You can also use two relays (SPDT), as already posted; same issues with the contacts apply - it will be cheaper, though.
The cheapest way (and really the best way) is to use 4 relays (SPST) in a classic h-bridge fashion; such relays can be found super-cheap. You still have to pay attention to the contact ratings, but since there is only a single set, you don't have to worry about a difference between upper and lower contact ratings being different.
Note that when using relays, speed control can be an issue - it is possible to tie a large transistor or MOSFET (of sufficient current switching capability) between the H-Bridge and ground and PWM the bridge, but this device has to be so large (depending on the size/ratings of the motor) that it might be cheaper and/or better to go with a complete transistor/MOSFET h-bridge and drop the relays.
One other thing to note: once you get past a certain size (current/voltage) with a homemade transistor/MOSFET bridge, it is typically cheaper and more effective to just purchase the bridge outright; you'll likely spend more money and time trying to optimize and make your design work effectively, than if you had simply purchased one (note that this doesn't apply if you are trying to learn about h-bridges, or are attempting to make a better h-bridge than what is available, etc).
Hope this helps - good luck!