Removed attempt to make calendar myself, added URL for each event, cleaned up the calendar JS, added readM :: Read a => String -> Maybe a