Have you had the codes read for the Service Engine light? If not, they can be checked for free at many of your local parts stores. Don't buy any parts yet just get the codes.
Do you have a meter for checking voltages?
When it doesn't start does it still crank (starter make noise)?