As far as I know, the JDM will program all serial programmable 12F, 16F and 18F PICS as well as some serial eeproms. Here's a schematic for the "fully loaded" version:
http://www.josepino.com/3/
You can get all the parts for less than $10.
Edit: I forgot to mention that the JDM will also work for in circuit programming (you don't have to pull the chip out of your circuit). However, it eats 2 of your I/Os.