Красиво получается )))
могу только дополнить.
1) я сильно против практики, когда диалог создаётся каждый раз для отображения и по выполнении своей миссии не уничтожается. Это во мне си плюс плюшник
бунтует наверное
если уж вы создаёте диалог то будте любезны не просто закрыть его, а унечтожить через destroy.
2) мне кажется в обработчике cancel,
html(data) лишний.