実装する暇がなかったのでとりあえず考え方だけ。
http://www.thinkfree.com/view.tfo?file=nFI770bk5Pc=tfo