The answer is in 2 parts;
a) the div for the form needs to be on the page already. (this is done automatically when the page is generated from NetTalk, and it can "see" that it might need the form).
The div is named in the form;
id="popup_procedurename_div"
this is always in lowercase.
b) To open the form (in javascript) you call ntd.push, like this;
ntd.push('MailboxesBrowseControl','ALI__MailBoxNumber','Mail Box:',1,6,'','AliasFormControl','asdfgh','fred=1&bob=2')
where the parameters are;
1. ProcedureName - ie the name of the wrapper, without the popup_ and _div parts.
2. Name of the lookup field (in the case of a popup being initiated from a lookup button)
3. Title - This appears in the title part of the dialog, if blank the form header is used instead.
4. set to 1 (ie makes the dialog appear now.)
5. action: 1=insert, 2=change, 3=delete, 4=copy, 5=view, 6=lookup
6. Sortfield (likely the empty string if calling a form)
7. CalledFrom: The name of the procedure calling this dialog. An Ajax notification is set to this procedure when the form closes (with _event_=gainfocus). A different notification is also sent if Save or Cancel is pressed.
8. row (the bidv of the of the session value so the form knows which record is being edited.)
9. another other "parameters" (in the name=value&name=value form) that you want to pass.
there are more, but those are the ones used for opening a form.
cheers
Bruce