http://jsfiddle.net/UrZM8/3/