﻿/***************************************************************
* AssureModalPopUp                                             *
* ----------------                                             *
* Version 1.1                                                  *
* Copyright (c) 2009 AssureInfotech                            *
* Website: http://www.assureinfotech.com/                      *
* E-Mail: assureindia@hotmail.com                              *
* Developer: Nimesh Patel                                      *
***************************************************************/

function ShowAssureModalPopUp(strTargetID, strShowDrp) {

    if (strShowDrp == null) {
        strShowDrp = '';
    }
    //strShowDrp  is option to hide drp on page - pass 'true' to hide drp (only for <= IE6)
    if (strStackDivIds == '') {
        var divAssurePopUpMain = document.createElement("div");
        divAssurePopUpMain.id = 'divAssurePopUpMain';
        divAssurePopUpMain.className = "divLoader";
        divAssurePopUpMain.style.width = document.body.clientWidth + 'px';
        divAssurePopUpMain.style.height = document.body.clientHeight + 'px';

        var tblAssurePopUpMain = document.createElement("table");
        tblAssurePopUpMain.id = 'tblAssurePopUpMain';
        tblAssurePopUpMain.className = "tblLoader";
        tblAssurePopUpMain.style.width = document.body.clientWidth + 'px';
        tblAssurePopUpMain.style.height = document.body.clientHeight + 'px';

        var trAssurePopUpMain = document.createElement("tr");
        trAssurePopUpMain.id = 'trAssurePopUpMain';

        var tdAssurePopUpMain = document.createElement("td");
        tdAssurePopUpMain.id = 'tdAssurePopUpMain';

        trAssurePopUpMain.appendChild(tdAssurePopUpMain);
        tblAssurePopUpMain.appendChild(trAssurePopUpMain);
        document.forms[0].appendChild(tblAssurePopUpMain);
        //document.body.appendChild(divAssurePopUpMain);
        document.forms[0].appendChild(divAssurePopUpMain);
    }

    if (strStackDivIds != '') {
        var arrDivIds = strStackDivIds.split(',');
        for (i = 0; i < arrDivIds.length; i++) {
            var objArr = document.getElementById(arrDivIds[i]);
            document.forms[0].appendChild(objArr);
        }
        strStackDivIds = strStackDivIds + ',' + strTargetID;
    }
    else {
        strStackDivIds = strTargetID;
    }

    var objTarget = document.getElementById(strTargetID);
    objTarget.style.display = 'block';
    objTarget.style.position = 'absolute';
    var tdAssurePopUpMainAdd = document.getElementById('tdAssurePopUpMain');
    tdAssurePopUpMainAdd.appendChild(objTarget);

    SetModalPopUpCenter(strTargetID);
    window.onscroll = function() {
        SetModalPopUpCenter(strTargetID);
    }

    if (strShowDrp == 'true') {
        strStackShowDrp = strShowDrp;
        DrpList = document.getElementsByTagName('select');
        for (var i = 0; i < DrpList.length; i++) {
            if (DrpList[i].style.display == "" || DrpList[i].style.display == "block");
            DrpList[i].style.display = "none";
        }
    }
}

function HideAssureModalPopUp() {

    if (strStackDivIds != '') {
        var arrDivIds = strStackDivIds.split(',');
        var lastIndex = arrDivIds.length - 1;
        var strTargetID = arrDivIds[lastIndex];
        var objTarget = document.getElementById(strTargetID);
        objTarget.style.display = 'none';
        objTarget.style.position = '';
        document.forms[0].appendChild(objTarget);

        strStackDivIds = '';
        for (i = 0; i < arrDivIds.length - 1; i++) {
            if (i != 0) {
                strStackDivIds = strStackDivIds + ',' + arrDivIds[i];
            }
            else {
                strStackDivIds = arrDivIds[i];
            }
        }

        if (strStackDivIds != '') {
            arrDivIds = strStackDivIds.split(',');
            lastIndex = arrDivIds.length - 1;
            strTargetID = arrDivIds[lastIndex];
            var tdAssurePopUpMain = document.getElementById('tdAssurePopUpMain');
            objTarget = document.getElementById(strTargetID);
            objTarget.style.display = 'block';
            objTarget.style.position = 'absolute';
            tdAssurePopUpMain.appendChild(objTarget);
            SetModalPopUpCenter(strTargetID);
            window.onscroll = function() {
                SetModalPopUpCenter(strTargetID);
            }
        }
    }
    else {
        window.onscroll = null;
    }

    if (strStackDivIds == '') {
        var tblAssurePopUpMain = document.getElementById('tblAssurePopUpMain');
        if (tblAssurePopUpMain != null) {
            document.forms[0].removeChild(tblAssurePopUpMain);
        }
        var divAssurePopUpMain = document.getElementById('divAssurePopUpMain');
        if (divAssurePopUpMain != null) {
            document.forms[0].removeChild(divAssurePopUpMain);
        }
        if (strStackShowDrp == 'true') {
            DrpList = document.getElementsByTagName('select');
            for (var i = 0; i < DrpList.length; i++) {
                if (DrpList[i].style.display == "" || DrpList[i].style.display == "block");
                DrpList[i].style.display = "";
            }
        }
    }
}

function SetModalPopUpCenter(strTargetID) {
    elem = document.getElementById(strTargetID);
    if (elem == null)
        return;

    //var left = parseInt(elem.offsetWidth / 2);
    var intH = 0, intW = 0;
    if (self.innerHeight) {
        intH = window.innerHeight;
        intW = window.innerWidth;
    }
    else {
        if (document.documentElement && document.documentElement.clientHeight) {
            intH = document.documentElement.clientHeight;
            intW = document.documentElement.clientWidth;
        }
        else {
            if (document.body) {
                intH = document.body.clientHeight;
                intW = document.body.clientWidth;
            }
        }
    }

    //var top = parseInt(elem.offsetHeight / 2);
    if (intH < elem.offsetHeight)
        return;

    var top = (intH == 0) ? 50 : parseInt((intH - elem.offsetHeight) / 2, 10);
    //elem.style.left = left + 'px';
    var scrOfX = 0, scrOfY = 0;
    if (typeof (window.pageYOffset) == 'number') {
        //Netscape compliant
        scrOfY = window.pageYOffset;
        scrOfX = window.pageXOffset;
    } else if (document.body && (document.body.scrollLeft || document.body.scrollTop)) {
        //DOM compliant
        scrOfY = document.body.scrollTop;
        scrOfX = document.body.scrollLeft;
    } else if (document.documentElement && (document.documentElement.scrollLeft || document.documentElement.scrollTop)) {
        //IE6 standards compliant mode
        scrOfY = document.documentElement.scrollTop;
        scrOfX = document.documentElement.scrollLeft;
    }
    elem.style.top = top + scrOfY + 'px';

    if (intW > elem.offsetWidth) {
        var left = (intW == 0) ? 100 : parseInt((intW - elem.offsetWidth) / 2, 10);
        elem.style.left = left + scrOfX + 'px';
    }
}

var strStackDivIds = '';
var strStackShowDrp = '';

//window.scrollTo(0, 0);
