There are a couple of ways to do what you're looking for but I agree the
best is going to be the showModalDialog method. Though the answer to your
question seems to be agreed on, I wanted to give you some of the reasoning
and considerations in coming up with that solution.
The modal dialog box is different from what you see in most calendar
controls. Most calendar controls are created using DHTML and DIV objects.
That is the problem with most calendar controls...Because they're DIVs they
are children of the main window. When the div pops up over an object that
is its own window, such as a <SELECT> element, then the <SELECT> element
shows through the calendar.
The advantage of the DHTML method is that, to varying degrees of success and
difficulty, it can be made to work in Mozilla and IE based browsers. The
other two methods are IE only solutions.
The modal dialog is, in my opinion, ugly. It has to have the "chrome"
around it.. ie. buttons, borders, and title bar and that "Web Page Dialog"
phrase in the title, no matter what you do.
The createPopup won't implement most user interaction in HTML. It won't
respond to HTML Anchors, won't accept input typed into input text boxes,
etc. You can do a lot of interactive work as long as it is all done by
mouse clicks by creating hyperlinks as spans with mouse click events and
setting the cursor to a hand onmouseover and back to pointer onmouseout.
You can simulate buttons by images with click events handled in the code of
the popup.
Dale Preston
MCAD, MCSE, MCDBA