I had a zipper replaced and a rip fixed at a place that does boat canvas tops. Not very expensive either. If your canvas is starting the deteriorate and is pulling apart it might not be worth fixing though.
As a temporary measure you can get a bikini top for about $50 so at least the seats will be covered. Meanwhile check craigslist or post in here that you are looking.
OR, send a pm to JEEBS. He bought a top from some 4x4 store in Ramona a while ago for not much money.