How to Set Relative Position for Dialog Box when Page Becomes longer (Scroll bars are activated)?
<p>Have a web app which consists of a form and have it set up to launch a dialog box containing information next to the subject label text field.
Everytime, someone fills out the form and clicks on submit, the form's message body (from the text area of the form) is displayed on top and the
form is displayed underneath it. Before, I had it set up as fixed (x,y) for the dialog box to appear next to the subject label. But, now, when
the page becomes longer, the dialog box doesn't appear next to my subject label text field. It is displayed a lot lower.</p>

<p>Here's the code to find the position:</p>

<pre><code>// Finds the position and adds 40px to the left axis.
function findPosition(obj) {
    var curleft = curtop = 0;
    if (obj.offsetParent) {
        do {
            curleft += obj.offsetLeft;
            curtop += obj.offsetTop;
        } while (obj = obj.offsetParent);
        curleft += 42;
//      alert ('[' + curleft + ', ' + curtop + ']');
        return [curleft,curtop];
    }
}
</code></pre>

<p>Here's the code that calls this function to display a dialog box at a specific place:</p>

<pre><code>function displayDialog() {
    var subjectLabel = document.getElementById("myform.subjectLabel");
     $("#myDialog").dialog({
         open: function(event, ui) {
             jQuery('.ui-dialog-titlebar-close')
                         .removeClass("ui-dialog-titlebar-close")
                         .html('&lt;span padding-right = "16px;"&gt;Close&lt;/span&gt;');
         },
         hide: true,
         draggable: false,
         position: findPosition(subjectLabel),
         closeOnEscape: false
     });
}
</code></pre>

<p>How can I set it so my findPosition() calculation doesn't miscalculate when the page is too long (when scroll bars are needed)?</p>

<p>Is there a way to set the relative positioning to always have the dialog appear 40px right of the subject label?</p>

<p>Thank you for taking the time to read this.</p>
