Cooling fan will be the most difficult to find. There should be a sticker on this fan with info such as voltage, rpms, cfm's, etc. Then you need to measure its dimensions and find a similar fan. I had an old Pentium 3 Compaq that needed a cooling fan once and I ended up buying one through Mouser.com, but there are thousands of different fans out there and you need one that will fit the space, operate on same voltage, and same rpm range to provide the necessary airflow, and lastly if there are 3 wires or more to this fan vs just 2, it means that the fan has a tach that the computer must see otherwise it will shut itself down to protect itself from an overheat of a non moving fan even if replacement fan spins.
Looking on ebay there are lots of parts out there with some fans that may or may not work with different part numbers are shapes and sizes. Have you checked ebay out yet?
The hard drive can be any SATA II or SATA I HDD that is a 2.5" drive that is * less than 500GB. * Some older systems struggle to support drives in excess of 500GB. You can find used SATA I drives cheap online such as ebay and it doesnt need to be this specific model HDD that was originally in it.
Ebay has many drives available that are 2.5" and SATA. Most SATA II drives are backwards compatible to SATA I speed controllers.
http://www.ebay.com/itm/Hitachi-HTS545012B9SA00-120GB-2-5-5400RPM-SATA-Hard-Drive-/121376617449?pt=US_Internal_Hard_Disk_Drives&hash=item1c429c33e9#ht_1705wt_916Can you provide more info on the cooling fan and maybe even some pictures if its not a square muffin fan?