Solenoid and Starter Contacts:
The problem with most broken starters is usually a worn out solenoid or worn out starter contacts. Most of the time the starter itself is fine. But you cant really find solenoids, or if you can they are priced at a ridiculous amount, like almost as much as a whole starter. So you wind up just buying the starter.
Theres good articles here about changing your starter contacts as these are the parts that wear the fastest. I found a seller of starter contacts dirt cheap
http://www.4crawler.com/4x4/CheapTri...OnlineOrdering
if you have more time then money then give it a try. But another thing i would try, clean your cables and charge your battery and if this makes a difference, then maybe it is the battery. Otherwise i would just change it. (the starter that is).