Well, while this is a good project for school or something, but I don't see the real value behind it?:X
You can buy a programmer for $20, with shipping. I got the USBTinyISP for that price, took about a week to get here.
And, by the way, most of the AVR programmers have some sort of Atmega inside them, for example the one I'm using has a Attiny2313.
But to build your own, if you had all the supplies.. wouldn't be bad, but if you had to purchase them all separately, you might as well go with the programmer. Especially since you need to do some SMD soldering (I think it's SMD) for the USB chips, which isn't particularly easy to use on proto-boards;D)
Not exactly the best programmer, but it's cheap, and works great. Also got to keep in mind that not all programs will support every programmer. (This one is compatible with Arduino, I've burned a total of I believe 6 chips so far, a few atmega8's and a 328:D)