﻿var Popup = {
    ready: true,
    codeList: new Array(),

    Open: function(key, width, height, header, content, showOkButton, showCancelButton, showAcceptButton, showConfirmButton, showDeclineButton, showYesButton, showNoButton, showNextButton, showPrevButton, showSendButton, showCloseButton, onButtonClicked, onClose) {
        
        if (key == null || key == undefined || key == '') {
            return;
        }
        
        if (header == null || header == undefined || header == '') {
            return;
        }
        
        if (this.ready == false) {
            setTimeout("Popup.Open('" + key + "'," + width + ",'" + header + "','" + content + "'," + showOkButton + "," + showCancelButton + "," + showAcceptButton + "," + showConfirmButton + "," + showDeclineButton + "," + showYesButton + "," + showNoButton + "," + showNextButton + "," + showPrevButton + "," + showSendButton + "," + showCloseButton + ",'" + onButtonClicked + "','" + onClose + "')", 200);
            return;
        }
        
        for (var i = 0; i < this.codeList.length; i++) {
            if (this.codeList[i] == key) {
                return;
            }
        }
        
        this.ready = false;
        this.codeList.push(key);
        this.HideButtons();
        //  document.body.setAttribute('onmousedown', 'Popup.Close()');
        document.getElementById('popup').style.width = width + "px";
        document.getElementById('popupHeader').style.width = (width - 40) + "px";
        document.getElementById('popup').style.left = (100 / (document.body.offsetWidth / ((document.body.offsetWidth - width) / 2))) + "%";

        document.getElementById('popupContent').style.height = "auto";

        document.body.style.overflow = 'hidden';
        //  document.body.bgColor = '#000000';
        //        document.getElementById('TransparentBack').style.visibility = 'visible';
        //        document.getElementById('TransparentBack').style.display = '';

        document.getElementById('popupHeader').innerHTML = header;
        document.getElementById('popupContent').innerHTML = content;

        if (showOkButton) {
            document.getElementById('popupOkButton').style.display = '';
            document.getElementById('popupOkButton').style.visibility = 'visible';
            document.getElementById('popupOkButton').setAttribute("onmousedown", onButtonClicked.replace("type", "ok") + "; Popup.ButtonClicked('" + key + "','ok'); ");
        }
        if (showAcceptButton) {
            document.getElementById('popupAcceptButton').style.display = '';
            document.getElementById('popupAcceptButton').style.visibility = 'visible';
            document.getElementById('popupAcceptButton').setAttribute("onmousedown", onButtonClicked.replace("type", "accept") + "; Popup.ButtonClicked('" + key + "','accept'); ");
        }
        if (showCancelButton) {
            document.getElementById('popupCancelButton').style.display = '';
            document.getElementById('popupCancelButton').style.visibility = 'visible';
            document.getElementById('popupCancelButton').setAttribute("onmousedown", "Popup.Close();");
        }
        if (showConfirmButton) {
            document.getElementById('popupConfirmButton').style.display = '';
            document.getElementById('popupConfirmButton').style.visibility = 'visible';
            document.getElementById('popupConfirmButton').setAttribute("onmousedown", onButtonClicked.replace("type", "confirm") + "; Popup.ButtonClicked('" + key + "','confirm'); ");
        }
        if (showDeclineButton) {
            document.getElementById('popupDeclineButton').style.display = '';
            document.getElementById('popupDeclineButton').style.visibility = 'visible';
            //   document.getElementById('popupDeclineButton').setAttribute("onmousedown", onButtonClicked.replace("type", "decline") + "; Popup.ButtonClicked('" + key + "','decline'); ");
        }
        if (showNoButton) {
            document.getElementById('popupNoButton').style.display = '';
            document.getElementById('popupNoButton').style.visibility = 'visible';
            //      document.getElementById('popupNoButton').setAttribute("onmousedown", onButtonClicked.replace("type", "no") + "; Popup.ButtonClicked('" + key + "','no'); ");
        }
        if (showYesButton) {
            document.getElementById('popupYesButton').style.display = '';
            document.getElementById('popupYesButton').style.visibility = 'visible';
            document.getElementById('popupYesButton').setAttribute("onmousedown", onButtonClicked.replace("type", "yes") + "; Popup.ButtonClicked('" + key + "','yes'); ");
        }
        if (showCloseButton) {
            document.getElementById('popupCloseButton').style.display = '';
            document.getElementById('popupCloseButton').style.visibility = 'visible';
            //       document.getElementById('popupCloseButton').setAttribute("onmousedown", onClose.replace("key", key) + "; Popup.Close(); ");
        }

        if (showNextButton) {
            document.getElementById('popupNextButton').style.display = '';
            document.getElementById('popupNextButton').style.visibility = 'visible';
            document.getElementById('popupNextButton').setAttribute("onmousedown", onButtonClicked.replace("type", "next") + "; Popup.ButtonClicked('" + key + "','next'); ");
        }
        if (showPrevButton) {
            document.getElementById('popupPrevButton').style.display = '';
            document.getElementById('popupPrevButton').style.visibility = 'visible';
            document.getElementById('popupPrevButton').setAttribute("onmousedown", onButtonClicked.replace("type", "prev") + "; Popup.ButtonClicked('" + key + "','prev'); ");
        }
        if (showSendButton) {
            document.getElementById('popupSendButton').style.display = '';
            document.getElementById('popupSendButton').style.visibility = 'visible';
            document.getElementById('popupSendButton').setAttribute("onmousedown", onButtonClicked.replace("type", "send") + "; Popup.ButtonClicked('" + key + "','send'); ");
        }
        document.getElementById('popupKey').value = key;

        document.getElementById('popup').style.visibility = 'visible';
        document.getElementById('popup').style.display = '';
    },
    HideButtons: function() {
        document.getElementById('popupOkButton').style.display = 'none';
        document.getElementById('popupOkButton').style.visibility = 'hidden';

        document.getElementById('popupAcceptButton').style.display = 'none';
        document.getElementById('popupAcceptButton').style.visibility = 'hidden';

        document.getElementById('popupCancelButton').style.display = 'none';
        document.getElementById('popupCancelButton').style.visibility = 'hidden';

        document.getElementById('popupConfirmButton').style.display = 'none';
        document.getElementById('popupConfirmButton').style.visibility = 'hidden';

        document.getElementById('popupDeclineButton').style.display = 'none';
        document.getElementById('popupDeclineButton').style.visibility = 'hidden';

        document.getElementById('popupNoButton').style.display = 'none';
        document.getElementById('popupNoButton').style.visibility = 'hidden';

        document.getElementById('popupYesButton').style.display = 'none';
        document.getElementById('popupYesButton').style.visibility = 'hidden';

        document.getElementById('popupCloseButton').style.display = 'none';
        document.getElementById('popupCloseButton').style.visibility = 'hidden';

        document.getElementById('popupNextButton').style.display = 'none';
        document.getElementById('popupNextButton').style.visibility = 'hidden';

        document.getElementById('popupPrevButton').style.display = 'none';
        document.getElementById('popupPrevButton').style.visibility = 'hidden';

        document.getElementById('popupSendButton').style.display = 'none';
        document.getElementById('popupSendButton').style.visibility = 'hidden';

    },

    Close: function() {
        this.ready = true;
        document.getElementById('popup').style.visibility = 'hidden';
        document.getElementById('popup').style.display = 'none';
        var key = document.getElementById('popupKey').value;
        document.body.style.overflow = 'auto';
        //        document.getElementById('TransparentBack').style.visibility = 'hidden';
        //        document.getElementById('TransparentBack').style.display = 'none';
        // document.body.bgColor = '';
        for (var i = 0; i < this.codeList.length; i++) {
            if (this.codeList[i] == key) {
                this.codeList[i] = null;
                return;
            }
        }


    },

    ButtonClicked: function(popupId, buttonType) {
        Popup.Close();
    }
}
