M.,
If you really want to keep him in a crib, Babies R Us sells a "netting tent" to put over the crib. It was created to keep cats from jumping into the crib, but it will keep him in there, too.
The other option is to move him to a toddler bed. We did this with our first at 18 months because she was climbing out. If this is your choice, I would highly recommend emptying the room before you do. Our daughter would also try to climb bookshelves and the dresser. We put the bookshelves and locked them in the closet. I took the handles off the dresser drawers so she couldn't pull them out and climb. I also shut the door, put away toys and turned out the lights so her room was quite boring at night. She still fell asleep on the floor in front of the door for several nights, but eventually she learned to stay in bed.
Don't worry about a dark room. Kids that age aren't usually afraid of the dark yet. And if you don't like having his door shut, you can put two baby gates in the doorway, one on top of the other, so he can't climb over the lower one and escape.
Good luck,
S.