Full modal dialog functionality