You will probably have to use Disk Warrior or the system CD to recover your data to another drive, and then repartition that drive to get it running again. Personally I would recover to another drive and throw the problematic drive away. Hard drives have a short life span, no need to keep around a device that is showing signs of failure.