
//--------------------------------------------------------------------
// getAjaxPopup()
//--------------------------------------------------------------------
var arrAjaxPopupID = new Array();
var arrAjaxPopupVisible = new Array();
function getAjaxPopup(intAjaxPopupID, intBoxWidth, intBoxHeight, strURL, objPopupBoxAnchorElement, intsendHTTPID, strData) {

    //Close any legacy style ajax popups
    hidePopupBox();

    //Add intAjaxPopupID to Array
    arrAjaxPopupID[arrAjaxPopupID.length] = intAjaxPopupID;

    //Allow for being nested within a scrollable div
    var nestedDivName = "";
    if (strData != "") {
        if (isNaN(strData.match("nestedDiv=")) == true) {
            var arrData = strData.split("&");
            for (i = 0; i < arrData.length; i++) {
                if (arrData[i].match("nestedDiv=")) {
                    arrVariable = arrData[i].split("=");
                    nestedDivName = arrVariable[1];
                }
            }
        }
    }

    //Spread Blanket
    if (isObject(document.getElementById('ajaxPopupBox' + intAjaxPopupID + 'Blanket'))) {
        document.getElementById('ajaxPopupBox' + intAjaxPopupID + 'Blanket').style.display = "block";
        document.getElementById('ajaxPopupBox' + intAjaxPopupID + 'Blanket').style.left = "1";
        document.getElementById('ajaxPopupBox' + intAjaxPopupID + 'Blanket').style.top = "1";
        document.getElementById('ajaxPopupBox' + intAjaxPopupID + 'Blanket').style.width = document.body.clientWidth + document.body.scrollLeft - 1;
        document.getElementById('ajaxPopupBox' + intAjaxPopupID + 'Blanket').style.height = document.body.clientHeight + document.body.scrollTop - 1;
    }

    if (isObject(document.getElementById('ajaxPopupBox' + intAjaxPopupID + 'Content'))) {
        document.getElementById('ajaxPopupBox' + intAjaxPopupID + 'Content').innerHTML = "";
    }
    else {
        document.getElementById('ajaxPopupBox' + intAjaxPopupID + 'Div').innerHTML = "";
    }

    //Open DIV
    if (arrAjaxPopupVisible[intAjaxPopupID] == 0 || typeof (arrAjaxPopupVisible[intAjaxPopupID]) == "undefined") {

        var intZIndex = getZMax();
        if (isObject(document.getElementById('ajaxPopupBox' + intAjaxPopupID + 'Blanket'))) {
            document.getElementById('ajaxPopupBox' + intAjaxPopupID + 'Blanket').style.zIndex = (intZIndex + 1);
        }
        document.getElementById('ajaxPopupBox' + intAjaxPopupID + 'Frame').style.zIndex = (intZIndex + 2);
        document.getElementById('ajaxPopupBox' + intAjaxPopupID + 'Div').style.zIndex = (intZIndex + 3);
        document.getElementById('ajaxPopupBox' + intAjaxPopupID + 'Frame').style.width = "1px";
        document.getElementById('ajaxPopupBox' + intAjaxPopupID + 'Div').style.width = "1px";
        document.getElementById('ajaxPopupBox' + intAjaxPopupID + 'Frame').style.height = "1px";
        document.getElementById('ajaxPopupBox' + intAjaxPopupID + 'Div').style.height = "1px";

        //### FLOAT ###
        document.getElementById('ajaxPopupBox' + intAjaxPopupID + 'Frame').style.left = document.body.scrollLeft;
        document.getElementById('ajaxPopupBox' + intAjaxPopupID + 'Frame').style.top = document.body.scrollTop;
        document.getElementById('ajaxPopupBox' + intAjaxPopupID + 'Frame').style.width = document.body.clientWidth - 1;
        document.getElementById('ajaxPopupBox' + intAjaxPopupID + 'Frame').style.height = document.body.clientHeight - 1;

        document.getElementById('ajaxPopupBox' + intAjaxPopupID + 'Div').style.left = document.body.scrollLeft;
        document.getElementById('ajaxPopupBox' + intAjaxPopupID + 'Div').style.top = document.body.scrollTop;
        document.getElementById('ajaxPopupBox' + intAjaxPopupID + 'Div').style.width = document.body.clientWidth - 1;
        document.getElementById('ajaxPopupBox' + intAjaxPopupID + 'Div').style.height = document.body.clientHeight - 1

    }
    else {
        document.getElementById('ajaxPopupBox' + intAjaxPopupID + 'Frame').style.left = findPosX(objPopupBoxAnchorElement);
        document.getElementById('ajaxPopupBox' + intAjaxPopupID + 'Frame').style.top = findPosY(objPopupBoxAnchorElement) + intAnchorHeight;
        document.getElementById('ajaxPopupBox' + intAjaxPopupID + 'Div').style.left = findPosX(objPopupBoxAnchorElement);
        document.getElementById('ajaxPopupBox' + intAjaxPopupID + 'Div').style.top = findPosY(objPopupBoxAnchorElement) + intAnchorHeight;
        document.getElementById('ajaxPopupBox' + intAjaxPopupID + 'Div').style.width = intBoxWidth + "px";
        document.getElementById('ajaxPopupBox' + intAjaxPopupID + 'Frame').style.width = intBoxWidth + "px";
        document.getElementById('ajaxPopupBox' + intAjaxPopupID + 'Div').style.height = intBoxHeight + "px";
        document.getElementById('ajaxPopupBox' + intAjaxPopupID + 'Frame').style.height = intBoxHeight + "px";

        //Offest if within a DIV
        if (nestedDivName != "") {
            document.getElementById('ajaxPopupBox' + intAjaxPopupID + 'Div').style.left = (findPosX(objPopupBoxAnchorElement) - document.getElementById('ajaxPopupBox' + intAjaxPopupID + 'OriginalX').value - document.getElementById(nestedDivName).scrollLeft);
            document.getElementById('ajaxPopupBox' + intAjaxPopupID + 'Frame').style.left = (findPosX(objPopupBoxAnchorElement) - document.getElementById('ajaxPopupBox' + intAjaxPopupID + 'OriginalX').value - document.getElementById(nestedDivName).scrollLeft);
            document.getElementById('ajaxPopupBox' + intAjaxPopupID + 'Div').style.top = (findPosY(objPopupBoxAnchorElement) - document.getElementById('ajaxPopupBox' + intAjaxPopupID + 'OriginalY').value + intAnchorHeight - document.getElementById(nestedDivName).scrollTop);
            document.getElementById('ajaxPopupBox' + intAjaxPopupID + 'Frame').style.top = (findPosY(objPopupBoxAnchorElement) - document.getElementById('ajaxPopupBox' + intAjaxPopupID + 'OriginalY').value + intAnchorHeight - document.getElementById(nestedDivName).scrollTop);
        }
    }

    initiate_ajax(intsendHTTPID);

    document.getElementById('ajaxPopupBox' + intAjaxPopupID + 'Div').style.cursor = "wait";

    if (isObject(document.getElementById('ajaxPopupBox' + intAjaxPopupID + 'Content'))) {
        if (document.getElementById('ajaxPopupBox' + intAjaxPopupID + 'Content').innerHTML == "") {
            document.getElementById('ajaxPopupBox' + intAjaxPopupID + 'Content').innerHTML = "<font style='white-space:nowrap;'>Loading&nbsp;Content...</font>"
        }
    }
    else {
        if (document.getElementById('ajaxPopupBox' + intAjaxPopupID + 'Div').innerHTML == "") {
            document.getElementById('ajaxPopupBox' + intAjaxPopupID + 'Div').innerHTML = "<font style='white-space:nowrap;'>Loading&nbsp;Content...</font>"
        }
    }

    arrAjax[intsendHTTPID].open("POST", strURL, true);
    arrAjax[intsendHTTPID].setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
    arrAjax[intsendHTTPID].onreadystatechange = function() {
        if (arrAjax[intsendHTTPID].readyState == 4) {
            if (arrAjax[intsendHTTPID].status == 200) {

                if (isObject(document.getElementById('ajaxPopupBox' + intAjaxPopupID + 'Content'))) {
                    document.getElementById('ajaxPopupBox' + intAjaxPopupID + 'Content').innerHTML = arrAjax[intsendHTTPID].responseText;
                }
                else {
                    document.getElementById('ajaxPopupBox' + intAjaxPopupID + 'Div').innerHTML = arrAjax[intsendHTTPID].responseText;
                }

                //Reset cursor
                document.getElementById('ajaxPopupBox' + intAjaxPopupID + 'Div').style.cursor = "default";

            }
            else {
                if (isObject(document.getElementById('ajaxPopupBox' + intAjaxPopupID + 'Content'))) {
                    document.getElementById('ajaxPopupBox' + intAjaxPopupID + 'Content').innerHTML = "Error Encountered";
                }
                else {
                    document.getElementById('ajaxPopupBox' + intAjaxPopupID + 'Div').innerHTML = "Error Encountered";
                }
                ajaxError(intsendHTTPID, arrAjax[intsendHTTPID].responseText);
            }
            document.getElementById('ajaxPopupBox' + intAjaxPopupID + 'Frame').style.display = "block";
            document.getElementById('ajaxPopupBox' + intAjaxPopupID + 'Div').style.display = "block";
        }
    }
    strData = strData.replace(/ /g, "%20");
    arrAjax[intsendHTTPID].send(strData);
    return false;

}

//'--------------------------------------------------------------------
//' expandAjaxPopup()
//'--------------------------------------------------------------------
function expandAjaxPopup(intAjaxPopupID, x, y, maxWidth, maxHeight, objPopupBoxAnchorElement) {
    arrAjaxPopupVisible[intAjaxPopupID] = 1;
    document.getElementById('ajaxPopupBox' + intAjaxPopupID + 'Div').style.display = "block";
    document.getElementById('ajaxPopupBox' + intAjaxPopupID + 'Frame').style.display = "block";
}

//'--------------------------------------------------------------------
//' terminateAjaxPopup()
//'--------------------------------------------------------------------
function terminateAjaxPopup(intAjaxPopupID) {
    document.getElementById('ajaxPopupBox' + intAjaxPopupID + 'Content').innerHTML = "";
    document.getElementById('ajaxPopupBox' + intAjaxPopupID + 'Blanket').style.display = "none";
    setTimeout("document.getElementById('ajaxPopupBox" + intAjaxPopupID + "Div').style.display='none';", 10);
    setTimeout("document.getElementById('ajaxPopupBox" + intAjaxPopupID + "Frame').style.display='none';", 10);
    arrAjaxPopupVisible[intAjaxPopupID] = 0;
}

//--------------------------------------------------------------------
// resizeAjaxPopupFrame()
//--------------------------------------------------------------------
function resizeAjaxPopupFrame(intAjaxPopupID) {
    return true;
}


//--------------------------------------------------------------------
// hideAjaxPopup()
//--------------------------------------------------------------------
function hideAjaxPopup(intAjaxPopupID) {
    hidetip();
    terminateAjaxPopup(intAjaxPopupID);
}

//--------------------------------------------------------------------
// hideAjaxPopupAll()
//--------------------------------------------------------------------
function hideAjaxPopupAll() {
    for (i = 0; i < arrAjaxPopupID.length; i++) {
        if (arrAjaxPopupVisible[arrAjaxPopupID[i]] == 1) {
            hideAjaxPopup(arrAjaxPopupID[i]);
        }
    }
}

//--------------------------------------------------------------------
// createAjaxPopup()
//--------------------------------------------------------------------
function createAjaxPopup(intAjaxPopupID, strAjaxPopupTitle, strAjaxPopupHelp) {
    if (isObject(document.getElementById('ajaxPopupBox' + intAjaxPopupID + 'Div')) == false) {
        var objAjaxNewPopupDiv = document.createElement("<span id='divAjaxPopup" + intAjaxPopupID + "Wrapper'></span>");
        document.body.insertBefore(objAjaxNewPopupDiv);
        document.getElementById('divAjaxPopup' + intAjaxPopupID + 'Wrapper').innerHTML = document.getElementById('divAjaxPopupTemplate').innerHTML.replace(/\[intAjaxPopupID\]/g, intAjaxPopupID);
        document.getElementById('divAjaxPopup' + intAjaxPopupID + 'Title').innerHTML = strAjaxPopupTitle;
        if (strAjaxPopupHelp != "") {
            document.getElementById('imgAjaxPopup' + intAjaxPopupID + 'Help').style.display = "block";
            document.getElementById('divAjaxPopup' + intAjaxPopupID + 'Help').innerHTML = strAjaxPopupHelp;
        }
    }
    return true;
}


