First check your engine water level as if it is low it is quite common for the heater to fail first, then if that is OK and your engine is running cold replace your thermostat which is only cheap and you can do it yourself but remember to save your water and top up the antifreeze. If your engine is running at the correct temperature then your heater could need flushing out but you should get a qualified mechanic to do this.
powerhousesteve@hotmail.com, February 2006