http://jsfiddle.net/cjmJM/10/