Clean or replace your IAC ( Idle Air Control ) valve. The IAC sounds like it's sticking from carbon build up and will need to be cleaned, start with cleaning your throttle body with throttle body cleaner and making sure you pay attention on to getting the cleaner down your IAC passage way on your throttle body.
One of the best cleaners out there is Seafom Deep Creep, it will clean up any carbon build up you have in your throttle body and upper intake. http://www.seafoamsales.com/ and you may want to give your engine a Seafoam treatment to clean out any more carbon that has built up through out the years.