Interactive cms calendar

Hello everyone,
I am trying to create a calendar that displays as a grid with the dates, but when you click on a date it shows the events on that date off to the side. I would also like my client to be able to add events through the cms at any time. what would be the best way to do this?