I would go for a nVidia 6600GT or 6800SE card, both 128MB and AGP. You can unlock a lot on the 6800SE, that makes it a SE, with RivaTuner. These cards work well with pixel shader model 2 and 3, and that’s what these games like to use!
Also, buy an extra 256MB DIMM, most of the games are asking for a minimum of 256MB but will run a lot better on 512MB.
XtremeMaC is right in his postings. DONīT go for HYPED UP system specs, like 1GB RAM, 256MB video RAM, S-ATA HDDs (with or without 8MB cache).
So, go by steps, first change the video card, and then put more RAM...
PS, any brand will do fine, most of the 6600GT / 6800SE cards are the same.
I personaly like MSI and ASUS. (I donīt know how advanced Iran is, but if itīs like Mexico you will have problems finding good cards...)