First check for diagnostic fault codes. Cycle the ignition switch from "off" to "run" three times within five seconds without cranking the engine, leave it in "run", then watch the code numbers show up in the odometer display.
Have you checked for spark and fuel pressure? If both are missing it is likely the automatic shutdown (ASD) relay isn't turning on during cranking. Measure the voltage on the 12 volt feed wire at any injector or ignition coil. The wire will be the same color at each place, usually dark green / orange. A test light works best but you can use a digital voltmeter if you watch it closely. Most don't respond fast enough. You should see 12 volts there for one second after turning on the ignition switch, then it will go back to 0 volts. What's important is if that voltage comes back during cranking. If it does, you have a spark OR a fuel supply problem. If it doesn't come back, you won't have spark AND fuel pressure. The most common causes of that are a failed camshaft position sensor, followed by a failed crankshaft position sensor, followed by a timing belt that has jumped two teeth.
There should be a fault code related to those sensors or the synchronization between the two of them, but if you ran the battery dead, those codes will be erased and that valuable information will be lost. Often those codes will not set again just from cranking the engine. At that point you'll need a scanner to view live data and see which sensor signal is missing.
SPONSORED LINKS
Saturday, September 21st, 2013 AT 12:39 PM