I also second the "stay two nights in Flagstaff". You don't want to be rushed at the Grand Canyon. There's lots to do at the South Rim and if you take a hike - the day goes quickly. Also, if you stay - I recommend seeing sunset at the west end of the South Rim. Take the free shuttle bus.