// IMPORTANT - THIS FILE NEEDS TO BE PUT ON THE WEBSERVER IN THE /INC DIRECTORY!

// scw 07/13/2009 NOTE:  using both counter and width variables to
//   handle two separate cases:  (1) counter is for single lines with
//   a <dol/> tag, and (2) width is for multiple lines with <dol/>
//   tags, since we can't use counter to know how many chars are on
//   the last line (because of justification of the lines)

function fillDotLeader(name) {
    var NN4 = document.layers? true : false;
    var IE4 = document.all? true : false;
    var height = 0;  var width = 0;  var counter = 0;  var scriptIndex = -1;
    var hiddenValue = "";
    var hiddenSpacer = "";
    var newText = "";
    var heightAdjuster = "";
    var widthAdjuster = -1;
    if (IE4) {
//scw hardcoded for 30-1-122, couldn't get anything to work
        if (document.all[name+"label"].value == "(m)  Application for reinstatement following administrative dissolution") {
            document.all[name].innerHTML = document.all[name].innerHTML.replace(/dissolution/, "dissolu-<br/>tion");
        }
//scw hardcoded for 42-221, couldn't get anything to work
        if (document.all[name+"label"].value == "L.  For  filing  a  protest  or  request  to  intervene  in  a  protested   matter ") {
            document.all[name].innerHTML = document.all[name].innerHTML.replace(/protested/, "pro-<br/>tested");
        }
        height = document.all[name].offsetHeight;
        width = document.all[name].offsetWidth;
        hiddenValue = document.all[name+"value"].value;
        for (i = 0; i < hiddenValue.length; i++) {
            hiddenSpacer += "~";
        }
        document.all[name].innerHTML = document.all[name].innerHTML + hiddenSpacer;
        counter = document.all[name].innerText.length;
        if (counter >= 74) { counter = 0; }
        if (height > 20) { counter = 0; }
        if (height != document.all[name].offsetHeight) {
            height = document.all[name].offsetHeight;
            counter = 0;
        }
        while ((counter < 74) && (height == document.all[name].offsetHeight) && (width == document.all[name].offsetWidth)) {
            document.all[name].innerHTML = document.all[name].innerHTML + ".";
            counter += 1;
        }
        newText = document.all[name].innerHTML.substr(0, (document.all[name].innerHTML.length - 1));
        newText = newText.replace(/~/g, "");
        newText = newText + hiddenValue;
        document.all[name].innerHTML = newText;
        if ((height != document.all[name].offsetHeight) && (document.all[name].innerHTML.indexOf("...........") > -1)) {
            i = 0;
            while ((i < 74) && (height != document.all[name].offsetHeight)) {
                heightAdjuster = document.all[name].innerHTML;
                document.all[name].innerHTML = heightAdjuster.replace(/\.\.\./, "..");
                i++;
            }
        }
        widthAdjuster = document.all[name].innerText.length - document.all[name].innerText.indexOf("...........");
        if ((document.all[name].innerText.indexOf("...........") > -1) &&
                  (widthAdjuster >= 74)) {
            widthAdjuster = widthAdjuster - 74;
            for (i = 0; i <= widthAdjuster; i++) {
                document.all[name].innerHTML = document.all[name].innerHTML.replace(/\.\.\./, "..");
            }
            if(document.all[name].offsetLeft > 0) {
                 widthAdjuster = (document.all[name].offsetLeft / 9) - 1;
                 for (i = 0; i <= widthAdjuster; i++) {
                     document.all[name].innerHTML = document.all[name].innerHTML.replace(/\.\.\./, "..");
                 }
             }
         } else if ((width != document.all[name].offsetWidth) && (document.all[name].innerHTML.indexOf("...........") > -1)) {
             i = 0;
             while ((i < 74) && (width != document.all[name].offsetWidth)) {
                 heightAdjuster = document.all[name].innerHTML;
                 document.all[name].innerHTML = heightAdjuster.replace(/\.\.\./, "..");
                 i++;
             }
         }
    } else if(NN4) {
//scw hardcoded for 30-1-122, couldn't get anything to work
        if (document.layers[name+"label"].value == "(m)  Application for reinstatement following administrative dissolution") {
            document.layers[name].innerHTML = document.layers[name].innerHTML.replace(/dissolution/, "dissolu-<br/>tion");
        }
//scw hardcoded for 42-221, couldn't get anything to work
        if (document.layers[name+"label"].value == "L.  For  filing  a  protest  or  request  to  intervene  in  a  protested   matter ") {
            document.layers[name].innerHTML = document.layers[name].innerHTML.replace(/protested/, "pro-<br/>tested");
        }
        height = document.layers[name].offsetHeight;
        width = document.layers[name].offsetWidth;
        hiddenValue = document.layers[name+"value"].value;
        for (i = 0; i < hiddenValue.length; i++) {
            hiddenSpacer += "~";
        }
        document.layers[name].innerHTML = document.layers[name].innerHTML + hiddenSpacer;
        counter = document.layers[name].textContent.length;
        if (counter >= 74) { counter = 0; }
        if (height > 20) { counter = 0; }
        if (height != document.layers[name].offsetHeight) {
            height = document.layers[name].offsetHeight;
            counter = 0;
        }
        while ((counter < 74) && (height == document.layers[name].offsetHeight) && (width == document.layers[name].offsetWidth)) {
            document.layers[name].innerHTML = document.layers[name].innerHTML + ".";
            counter += 1;
        }
        newText = document.layers[name].innerHTML.substr(0, (document.layers[name].innerHTML.length - 1));
        newText = newText.replace(/~/g, "");
        newText = newText + hiddenValue;
        document.layers[name].innerHTML = newText;
        if ((height != document.layers[name].offsetHeight) && (document.layers[name].innerHTML.indexOf("...........") > -1)) {
            i = 0;
            while ((i < 74) && (height != document.layers[name].offsetHeight)) {
                heightAdjuster = document.layers[name].innerHTML;
                document.layers[name].innerHTML = heightAdjuster.replace(/\.\.\./, "..");
                i++;
            }
        }
        widthAdjuster = document.layers[name].textContent.length - document.layers[name].textContent.indexOf("...........");
        if ((document.layers[name].textContent.indexOf("...........") > -1) &&
                  (widthAdjuster >= 73)) {
            widthAdjuster = widthAdjuster - 74;
            for (i = 0; i <= widthAdjuster; i++) {
                document.layers[name].innerHTML = document.layers[name].innerHTML.replace(/\.\.\./, "..");
            }
            if(document.layers[name].offsetLeft > 0) {
                 widthAdjuster = (document.layers[name].offsetLeft / 9) - 1;
                 for (i = 0; i <= widthAdjuster; i++) {
                     document.layers[name].innerHTML = document.layers[name].innerHTML.replace(/\.\.\./, "..");
                 }
             }
         } else if ((width != document.layers[name].offsetWidth) && (document.layers[name].innerHTML.indexOf("...........") > -1)) {
             i = 0;
             while ((i < 74) && (width != document.layers[name].offsetWidth)) {
                 heightAdjuster = document.layers[name].innerHTML;
                 document.layers[name].innerHTML = heightAdjuster.replace(/\.\.\./, "..");
                 i++;
             }
         }
    } else {
//scw hardcoded for 30-1-122, couldn't get anything to work
        if (document.getElementById(name+"label").value == "(m)  Application for reinstatement following administrative dissolution") {
            document.getElementById(name).innerHTML = document.getElementById(name).innerHTML.replace(/dissolution/, "dissolu-<br/>tion");
        }
//scw hardcoded for 42-221, couldn't get anything to work
        if (document.getElementById(name+"label").value == "L.  For  filing  a  protest  or  request  to  intervene  in  a  protested   matter ") {
            document.getElementById(name).innerHTML = document.getElementById(name).innerHTML.replace(/protested/, "pro-<br/>tested");
        }
        height = document.getElementById(name).offsetHeight;
        width = document.getElementById(name).offsetWidth;
        hiddenValue = document.getElementById(name+"value").value;
        for (i = 0; i < hiddenValue.length; i++) {
            hiddenSpacer += "~";
        }
        document.getElementById(name).innerHTML = document.getElementById(name).innerHTML + hiddenSpacer;
        counter = document.getElementById(name).textContent.length;
        if (counter >= 74) { counter = 0; }
        if (height > 20) { counter = 0; }
        if (height != document.getElementById(name).offsetHeight) {
            height = document.getElementById(name).offsetHeight;
            counter = 0;
        }
        while ((counter < 74) && (height == document.getElementById(name).offsetHeight) && (width == document.getElementById(name).offsetWidth)) {
        document.getElementById(name).innerHTML = document.getElementById(name).innerHTML + ".";
            counter += 1;
        }
        newText = document.getElementById(name).innerHTML.substr(0, (document.getElementById(name).innerHTML.length - 1));
        newText = newText.replace(/~/g, "");
        newText = newText + hiddenValue;
        document.getElementById(name).innerHTML = newText;
        if ((height != document.getElementById(name).offsetHeight) && (document.getElementById(name).innerHTML.indexOf("...........") > -1)) {
            i = 0;
            while ((i < 74) && (height != document.getElementById(name).offsetHeight)) {
                heightAdjuster = document.getElementById(name).innerHTML;
                document.getElementById(name).innerHTML = heightAdjuster.replace(/\.\.\./, "..");
                i++;
            }
        }
        widthAdjuster = document.getElementById(name).textContent.length - document.getElementById(name).textContent.indexOf("...........");
        if ((document.getElementById(name).textContent.indexOf("...........") > -1) &&
                  (widthAdjuster >= 73)) {
            widthAdjuster = widthAdjuster - 74;
            for (i = 0; i <= widthAdjuster; i++) {
                document.getElementById(name).innerHTML = document.getElementById(name).innerHTML.replace(/\.\.\./, "..");
            }
            if(document.getElementById(name).offsetLeft > 0) {
                 widthAdjuster = (document.getElementById(name).offsetLeft / 9) - 1;
                 for (i = 0; i <= widthAdjuster; i++) {
                     document.getElementById(name).innerHTML = document.getElementById(name).innerHTML.replace(/\.\.\./, "..");
                 }
             }
         } else if ((width != document.getElementById(name).offsetWidth) && (document.getElementById(name).innerHTML.indexOf("...........") > -1)) {
             i = 0;
             while ((i < 74) && (width != document.getElementById(name).offsetWidth)) {
                 heightAdjuster = document.getElementById(name).innerHTML;
                 document.getElementById(name).innerHTML = heightAdjuster.replace(/\.\.\./, "..");
                 i++;
             }
         }
    }
} 

function fillBlankLeader(name) {
    var NN4 = document.layers? true : false;
    var IE4 = document.all? true : false;
    var height = 0;  var width = 0;  var counter = 0;  var scriptIndex = -1;
    var hiddenValue = "";
    var hiddenValueText = "";
    var hiddenSpacer = "";
    var newText = "";
    var heightAdjuster = "";
    var widthAdjuster = -1;
    if (IE4) {
        height = document.all[name].offsetHeight;
        width = document.all[name].offsetWidth;
        hiddenValue = document.all[name+"value"].value;
        hiddenValueText = document.all[name+"valueText"].value;
        for (i = 0; i < hiddenValueText.length; i++) {
            hiddenSpacer += "~";
        }
        document.all[name].innerHTML = document.all[name].innerHTML + hiddenSpacer;
        counter = document.all[name].innerText.length;
        if (counter >= 74) { counter = 0; }
        if (height > 20) { counter = 0; }
        if (height != document.all[name].offsetHeight) {
            height = document.all[name].offsetHeight;
            counter = 0;
        }
        if (document.all[name].tagName == "SPAN") {
                //scw 07/16/2009 because of the mixed tags, and some of them needing to be inline, we can't use the <div/> tag so we are using
                //    the <span/> tag in that case, but this poses a problem because the width of <span/> doesn't work like a <div/> tag
            while ((counter < 74) && (height == document.all[name].offsetHeight) && (document.all[name].offsetWidth <= 660)) {
                document.all[name].innerHTML = document.all[name].innerHTML + "|";
                //scw 07/15/2009 using pipes for IE stuff because IE treats the } different than the | and the space -> see 54-1014
                counter += 1;
            }
        } else {
            while ((counter < 74) && (height == document.all[name].offsetHeight) && (width == document.all[name].offsetWidth)) {
                document.all[name].innerHTML = document.all[name].innerHTML + "|";
                //scw 07/15/2009 using pipes for IE stuff because IE treats the } different than the | and the space -> see 54-1014
                counter += 1;
            }
        }
        newText = document.all[name].innerHTML.substr(0, (document.all[name].innerHTML.length - 1));
        newText = newText.replace(/~/g, "");
        newText = newText + hiddenValue;
        document.all[name].innerHTML = newText;
        if ((height != document.all[name].offsetHeight) && (document.all[name].innerHTML.indexOf("||||||||||") > -1)) {
            i = 0;
            while ((i < 74) && (height != document.all[name].offsetHeight)) {
                heightAdjuster = document.all[name].innerHTML;
                document.all[name].innerHTML = heightAdjuster.replace(/\|\|\|/, "||");
                i++;
            }
        }
        widthAdjuster = document.all[name].innerText.length - document.all[name].innerText.indexOf("||||||||||");
        if ((document.all[name].innerText.indexOf("||||||||||") > -1) &&
                  (widthAdjuster >= 73)) {
            widthAdjuster = widthAdjuster - 74;
            for (i = 0; i <= widthAdjuster; i++) {
                document.all[name].innerHTML = document.all[name].innerHTML.replace(/\|\|\|/, "||");
            }
            if(document.all[name].parentNode.offsetLeft > 0) {
                 widthAdjuster = (document.all[name].parentNode.offsetLeft / 9) - 1;
                 for (i = 0; i <= widthAdjuster; i++) {
                     document.all[name].innerHTML = document.all[name].innerHTML.replace(/\|\|\|/, "||");
                 }
             }
         } else if ((width != document.all[name].offsetWidth) && (document.all[name].innerHTML.indexOf("||||||||||") > -1)) {
             i = 0;
             if (document.all[name].tagName == "SPAN") {
                 while ((i < 74) && (document.all[name].offsetWidth > (660 - document.all[name].parentNode.offsetLeft))) {
                     heightAdjuster = document.all[name].innerHTML;
                     document.all[name].innerHTML = heightAdjuster.replace(/\|\|\|/, "||");
                     i++;
                 }
             } else {
                 while ((i < 74) && (width != document.all[name].offsetWidth)) {
                     heightAdjuster = document.all[name].innerHTML;
                     document.all[name].innerHTML = heightAdjuster.replace(/\|\|\|/, "||");
                     i++;
                 }
             }
         }
         document.all[name].innerHTML = document.all[name].innerHTML.replace(/\|/g, "&nbsp;");
    } else if(NN4) {
        height = document.layers[name].offsetHeight;
        width = document.layers[name].offsetWidth;
        hiddenValue = document.layers[name+"value"].value;
        hiddenValueText = document.layers[name+"valueText"].value;
        for (i = 0; i < hiddenValueText.length; i++) {
            hiddenSpacer += "~";
        }
        document.layers[name].innerHTML = document.layers[name].innerHTML + hiddenSpacer;
        counter = document.layers[name].textContent.length;
        if (counter >= 74) { counter = 0; }
        if (height > 20) { counter = 0; }
        if (height != document.layers[name].offsetHeight) {
            height = document.layers[name].offsetHeight;
            counter = 0;
        }
        if (document.layers[name].tagName == "SPAN") {
                //scw 07/16/2009 because of the mixed tags, and some of them needing to be inline, we can't use the <div/> tag so we are using
                //    the <span/> tag in that case, but this poses a problem because the width of <span/> doesn't work like a <div/> tag
            while ((counter < 74) && (height == document.layers[name].offsetHeight) && (document.layers[name].offsetWidth <= 660)) {
                document.layers[name].innerHTML = document.layers[name].innerHTML + "}";
                counter += 1;
            }
        } else {
            while ((counter < 74) && (height == document.layers[name].offsetHeight) && (width == document.layers[name].offsetWidth)) {
                document.layers[name].innerHTML = document.layers[name].innerHTML + "}";
                counter += 1;
            }
        }
        newText = document.layers[name].innerHTML.substr(0, (document.layers[name].innerHTML.length - 1));
        newText = newText.replace(/~/g, "");
        newText = newText + hiddenValue;
        document.layers[name].innerHTML = newText;
        if ((height != document.layers[name].offsetHeight) && (document.layers[name].innerHTML.indexOf("}}}}}}}}}}") > -1)) {
            i = 0;
            while ((i < 74) && (height != document.layers[name].offsetHeight)) {
                heightAdjuster = document.layers[name].innerHTML;
                document.layers[name].innerHTML = heightAdjuster.replace(/}}}/, "}}");
                i++;
            }
        }
        widthAdjuster = document.layers[name].textContent.length - document.layers[name].textContent.indexOf("}}}}}}}}}}");
        if ((document.layers[name].textContent.indexOf("}}}}}}}}}}") > -1) &&
                  (widthAdjuster >= 73)) {
            widthAdjuster = widthAdjuster - 74;
            for (i = 0; i <= widthAdjuster; i++) {
                document.layers[name].innerHTML = document.layers[name].innerHTML.replace(/}}}/, "}}");
            }
            if(document.layers[name].parentNode.offsetLeft > 0) {
                 widthAdjuster = (document.layers[name].parentNode.offsetLeft / 9) - 1;
                 for (i = 0; i <= widthAdjuster; i++) {
                     document.layers[name].innerHTML = document.layers[name].innerHTML.replace(/}}}/, "}}");
                 }
             }
         } else if ((width != document.layers[name].offsetWidth) && (document.layers[name].innerHTML.indexOf("}}}}}}}}}}") > -1)) {
             i = 0;
             if (document.layers[name].tagName == "SPAN") {
                 while ((i < 74) && (document.layers[name].offsetWidth > 660)) {
                     heightAdjuster = document.layers[name].innerHTML;
                     document.layers[name].innerHTML = heightAdjuster.replace(/}}}/, "}");
                     i++;
                  }
             } else {
                 while ((i < 74) && (width != document.layers[name].offsetWidth)) {
                     heightAdjuster = document.layers[name].innerHTML;
                     document.layers[name].innerHTML = heightAdjuster.replace(/}}}/, "}");
                     i++;
                  }
             }
         }
         document.layers[name].innerHTML = document.layers[name].innerHTML.replace(/}/g, "&nbsp;");
    } else {
        height = document.getElementById(name).offsetHeight;
        width = document.getElementById(name).offsetWidth;
        hiddenValue = document.getElementById(name+"value").value;
        hiddenValueText = document.getElementById(name+"valueText").value;
        for (i = 0; i < hiddenValueText.length; i++) {
            hiddenSpacer += "~";
        }
        document.getElementById(name).innerHTML = document.getElementById(name).innerHTML + hiddenSpacer;
        counter = document.getElementById(name).textContent.length;
        if (counter >= 74) { counter = 0; }
        if (height > 20) { counter = 0; }
        if (height != document.getElementById(name).offsetHeight) {
            height = document.getElementById(name).offsetHeight;
            counter = 0;
        }
        if (document.getElementById(name).tagName == "SPAN") {
                //scw 07/16/2009 because of the mixed tags, and some of them needing to be inline, we can't use the <div/> tag so we are using
                //    the <span/> tag in that case, but this poses a problem because the width of <span/> doesn't work like a <div/> tag
            while ((counter < 74) && (height == document.getElementById(name).offsetHeight) && (document.getElementById(name).offsetWidth <= 660)) {
                document.getElementById(name).innerHTML = document.getElementById(name).innerHTML + "}";
                counter += 1;
            }
        } else {
            while ((counter < 74) && (height == document.getElementById(name).offsetHeight) && (width == document.getElementById(name).offsetWidth)) {
                document.getElementById(name).innerHTML = document.getElementById(name).innerHTML + "}";
                counter += 1;
            }
        }
        newText = document.getElementById(name).innerHTML.substr(0, (document.getElementById(name).innerHTML.length - 1));
        newText = newText.replace(/~/g, "");
        newText = newText + hiddenValue;
        document.getElementById(name).innerHTML = newText;
        if ((height != document.getElementById(name).offsetHeight) && (document.getElementById(name).innerHTML.indexOf("}}}}}}}}}}") > -1)) {
            i = 0;
            while ((i < 74) && (height != document.getElementById(name).offsetHeight)) {
                heightAdjuster = document.getElementById(name).innerHTML;
                document.getElementById(name).innerHTML = heightAdjuster.replace(/}}}/, "}}");
                i++;
            }
        }
        widthAdjuster = document.getElementById(name).textContent.length - document.getElementById(name).textContent.indexOf("}}}}}}}}}}");
        if ((document.getElementById(name).textContent.indexOf("}}}}}}}}}}") > -1) &&
                  (widthAdjuster >= 73)) {
            widthAdjuster = widthAdjuster - 74;
            for (i = 0; i <= widthAdjuster; i++) {
                document.getElementById(name).innerHTML = document.getElementById(name).innerHTML.replace(/}}}/, "}}");
            }
            if(document.getElementById(name).parentNode.offsetLeft > 0) {
                widthAdjuster = (document.getElementById(name).parentNode.offsetLeft / 9) - 1;
                for (i = 0; i <= widthAdjuster; i++) {
                    document.getElementById(name).innerHTML = document.getElementById(name).innerHTML.replace(/}}}/, "}}");
                }
            }
                //scw 07/15/2009 special code for 50-431 - two <span> tags inside the one <div> tag doesn't register offsetLeft - aaarrgghh!
            if(document.getElementById(name).parentNode.parentNode.style.textIndent != "") {
                widthAdjuster = Math.floor(parseInt(document.getElementById(name).parentNode.parentNode.style.textIndent.replace(/px/, "")) * 0.68);
                for (i = 0; i <= widthAdjuster; i++) {
                    document.getElementById(name).innerHTML = document.getElementById(name).innerHTML.replace(/}}}/, "}}");
                }
            }
        } else if ((width != document.getElementById(name).offsetWidth) && (document.getElementById(name).innerHTML.indexOf("}}}}}}}}}}") > -1)) {
            i = 0;
            if (document.getElementById(name).tagName == "SPAN") {
                while ((i < 74) && (document.getElementById(name).offsetWidth > 660)) {
                    heightAdjuster = document.getElementById(name).innerHTML;
                    document.getElementById(name).innerHTML = heightAdjuster.replace(/}}}/, "}}");
                    i++;
                }
            } else {
                while ((i < 74) && (width != document.getElementById(name).offsetWidth)) {
                    heightAdjuster = document.getElementById(name).innerHTML;
                    document.getElementById(name).innerHTML = heightAdjuster.replace(/}}}/, "}}");
                    i++;
                }
            }
        }
        document.getElementById(name).innerHTML = document.getElementById(name).innerHTML.replace(/}/g, "&nbsp;");
    }
}

