﻿
function ResourceReplace(oldText) {
    oldText = oldText.replace(/\$\$\$Information\$\$\$/g, Env.MessageBox.Information);
    oldText = oldText.replace(/\$\$\$Warning\$\$\$/g, Env.MessageBox.Warning);
    oldText = oldText.replace(/\$\$\$Error\$\$\$/g, Env.MessageBox.Error);
    oldText = oldText.replace(/\$\$\$Confirm\$\$\$/g, Env.MessageBox.Confirm);

    oldText = oldText.replace(/\$\$\$CloseImageMouseOver\$\$\$/g, Env.MessageBox.CloseImageMouseOver);
    oldText = oldText.replace(/\$\$\$CloseImage\$\$\$/g, Env.MessageBox.CloseImage);
    oldText = oldText.replace(/\$\$\$InformationImage\$\$\$/g, Env.MessageBox.InformationImage);
    oldText = oldText.replace(/\$\$\$WarningImage\$\$\$/g, Env.MessageBox.WarningImage);
    oldText = oldText.replace(/\$\$\$ErrorImage\$\$\$/g, Env.MessageBox.ErrorImage);
    oldText = oldText.replace(/\$\$\$ConfirmImage\$\$\$/g, Env.MessageBox.ConfirmImage);
    oldText = oldText.replace(/\$\$\$ButtonCancel\$\$\$/g, Env.MessageBox.ButtonCancel);
    oldText = oldText.replace(/\$\$\$ButtonOK\$\$\$/g, Env.MessageBox.ButtonOK);

    return oldText;
}

function ShowMessageBoxOverlay() {
    if ($('message_overlay').length == 0)
        $("body").append('<div id="message_overlay" class="message_hide"></div>')

    $('#message_overlay').hide().addClass("message_overlayBG")
      .css('opacity', 0)
      .fadeIn(300)
    return false
}

function HideMessageBoxOverlay() {
    $('#message_overlay').fadeOut(300, function() {
        $("#message_overlay").removeClass("message_overlayBG")
        $("#message_overlay").addClass("message_hide")
        $("#message_overlay").remove()
    })

    return false
}

function BuildAlertDiv() {
    var strAlert = "";
    strAlert += "<div id='AlterDivWraper' style='position:absolute;  z-index:1001;  display:none;'></div>";
    $('body').append(strAlert);

    strAlert = "";
    strAlert += "<div id='AlertDiv' style='position:absolute;display:none;z-index:1002; display:none;'>";
    strAlert += "  <div class='message_width'>";
    strAlert += "    <table class='message_title' id='alertMessageTitle'>";
    strAlert += "      <tr>";
    strAlert += "        <td><div class='message_div'>$$$Information$$$</div>";
    strAlert += "          <div class='message_close'><img  id='closeButton'  style='cursor:pointer;' onmouseover=\"this.src='$$$CloseImageMouseOver$$$'\" onmouseout=\"this.src='$$$CloseImage$$$'\" src='$$$CloseImage$$$' alt='Close' title='Close' width='40' height='40' /></div></td>";
    strAlert += "      </tr>";
    strAlert += "    </table>";
    strAlert += "  </div>";
    strAlert += "  <div class='message_width' id='alertMessageContent'>";
    strAlert += "    <table class='message_contain' cellpadding='0' cellspacing='0'>";
    strAlert += "      <tr>";
    strAlert += "        <td colspan='2' height='25'>&nbsp;</td>";
    strAlert += "      </tr>";
    strAlert += "      <tr>";
    strAlert += "        <td class='message_leftcontain'><img src='$$$InformationImage$$$' alt='' title='' width='40' height='40' /></td>";
    strAlert += "        <td class='message_rightcontain'><div id='alertMessageDiv'>";
    strAlert += "                </div>";
    strAlert += "      </tr>";
    strAlert += "      <tr>";
    strAlert += "        <td colspan='2' height='35'>&nbsp;</td>";
    strAlert += "      </tr>";
    strAlert += "      <tr>";
    strAlert += "        <td colspan='2' class='message_buttontd'><input  id='alertButton'  class='message_button' type='button' name='btnOk' value='$$$ButtonOK$$$'/></td>";
    strAlert += "      </tr>";
    strAlert += "    </table>";
    strAlert += "  </div>";

    strAlert += "</div>";
    strAlert = ResourceReplace(strAlert);

    $('body').append(strAlert);
}

function BuildWarningDiv() {
    var strAlert = "<div id='AlterDivWraper' style='position:absolute;  z-index:1001;  display:none;'></div>";
    $('body').append(strAlert);

    strAlert = "";
    strAlert += "<div id='AlertDiv' style='position:absolute;display:none;z-index:1002; display:none;'>";
    strAlert += "  <div class='message_width'>";
    strAlert += "    <table class='message_title' id='alertMessageTitle'>";
    strAlert += "      <tr>";
    strAlert += "        <td><div class='message_div'>$$$Warning$$$</div>";
    strAlert += "          <div class='message_close'><img  id='closeButton'  style='cursor:pointer;' onmouseover=\"this.src='$$$CloseImageMouseOver$$$'\" onmouseout=\"this.src='$$$CloseImage$$$'\" src='$$$CloseImage$$$' alt='Close' title='Close' width='40' height='40' /></div></td>";
    strAlert += "      </tr>";
    strAlert += "    </table>";
    strAlert += "  </div>";
    strAlert += "  <div class='message_width' id='alertMessageContent'>";
    strAlert += "    <table class='message_contain' cellpadding='0' cellspacing='0'>";
    strAlert += "      <tr>";
    strAlert += "        <td colspan='2' height='25'>&nbsp;</td>";
    strAlert += "      </tr>";
    strAlert += "      <tr>";
    strAlert += "        <td class='message_leftcontain'><img src='$$$WarningImage$$$' alt='' title='' width='40' height='40' /></td>";
    strAlert += "        <td class='message_rightcontain'><div id='alertMessageDiv'>";
    strAlert += "                </div>";
    strAlert += "      </tr>";
    strAlert += "      <tr>";
    strAlert += "        <td colspan='2' height='35'>&nbsp;</td>";
    strAlert += "      </tr>";
    strAlert += "      <tr>";
    strAlert += "        <td colspan='2' class='message_buttontd'><input  id='alertButton'  class='message_button' type='button' name='btnOk' value='$$$ButtonOK$$$'/></td>";
    strAlert += "      </tr>";
    strAlert += "    </table>";
    strAlert += "  </div>";

    strAlert += "</div>";
    strAlert = ResourceReplace(strAlert);

    $('body').append(strAlert);
}

function BuildErrorDiv() {
    var strAlert = "<div id='AlterDivWraper' style='position:absolute;  z-index:1001;  display:none;'></div>";
    $('body').append(strAlert);

    strAlert = "";
    strAlert += "<div id='AlertDiv' style='position:absolute;display:none;z-index:1002; display:none;'>";
    strAlert += "  <div class='message_width'>";
    strAlert += "    <table class='message_title' id='alertMessageTitle'>";
    strAlert += "      <tr>";
    strAlert += "        <td><div class='message_div'>$$$Error$$$</div>";
    strAlert += "          <div class='message_close'><img  id='closeButton'  style='cursor:pointer;' onmouseover=\"this.src='$$$CloseImageMouseOver$$$'\" onmouseout=\"this.src='$$$CloseImage$$$'\" src='$$$CloseImage$$$' alt='Close' title='Close' width='40' height='40' /></div></td>";
    strAlert += "      </tr>";
    strAlert += "    </table>";
    strAlert += "  </div>";
    strAlert += "  <div class='message_width' id='alertMessageContent'>";
    strAlert += "    <table class='message_contain' cellpadding='0' cellspacing='0'>";
    strAlert += "      <tr>";
    strAlert += "        <td colspan='2' height='25'>&nbsp;</td>";
    strAlert += "      </tr>";
    strAlert += "      <tr>";
    strAlert += "        <td class='message_leftcontain'><img src='$$$ErrorImage$$$' alt='' title='' width='40' height='40' /></td>";
    strAlert += "        <td class='message_rightcontain'><div id='alertMessageDiv'>";
    strAlert += "                </div>";
    strAlert += "      </tr>";
    strAlert += "      <tr>";
    strAlert += "        <td colspan='2' height='35'>&nbsp;</td>";
    strAlert += "      </tr>";
    strAlert += "      <tr>";
    strAlert += "        <td colspan='2' class='message_buttontd'><input  id='alertButton'  class='message_button' type='button' name='btnOk' value='$$$ButtonOK$$$'/></td>";
    strAlert += "      </tr>";
    strAlert += "    </table>";
    strAlert += "  </div>";

    strAlert += "</div>";
    strAlert = ResourceReplace(strAlert);

    $('body').append(strAlert);
}


var arrMessages = [];
window.old_alert = window.alert;
window.alert = function(message, type) {
    if (message) {
        message = message.toString();
        message = message.replace(/\r\n/g, "<br/>")
    }

    if (type == "warning") {
        BuildWarningDiv();
    }
    else {
        if (type == "error") {
            BuildErrorDiv();
        }
        else {
            BuildAlertDiv();
        }
    }

    var alertButton = document.getElementById("alertButton");
    var closeButton = document.getElementById("closeButton");

    function ShowAlertDiv(message) {
        $("#ozz_ReadOnlyDiv").show();

        var alertDiv = document.getElementById("AlertDiv");
        $("#AlertDiv").show().fadeIn(300)
        $("#alertMessageDiv").html(message);
        var alertMessageTitle = document.getElementById("alertMessageTitle");
        var alertMessageContent = document.getElementById("alertMessageContent");
        alertMessageTitle.style.width = alertMessageContent.offsetWidth;

        alertDiv.style.top = document.documentElement.scrollTop + (document.documentElement.clientHeight - parseInt(alertDiv.offsetHeight)) / 2 + "px";
        alertDiv.style.left = document.documentElement.scrollLeft + (document.documentElement.clientWidth - parseInt(alertDiv.offsetWidth)) / 2 + "px";

        $("#AlertDiv").decorateIframe();
        document.onkeypress = function() {
            return true;
        }
    }

    if (arrMessages.length <= 0) {
        ShowAlertDiv(message);
    }
    arrMessages.push(message);

    ShowMessageBoxOverlay();

    $("#alertButton").focus();

    closeButton.onclick = alertButton.onclick = function() {
        arrMessages.shift();
        if (arrMessages.length > 0) {
            ShowAlertDiv(arrMessages[0]);
            return;
        }
        $("#AlertDiv").hide().fadeOut(300)
        $("#AlertDiv").remove();
        $("#AlterDivWraper").remove(); ;
        HideMessageBoxOverlay();
    }
}

var isConfirmDivBuilded = false;
function BuildConfirmDiv() {

    var strConfirm = "";
    strConfirm += "<div id='ConfirmDivWraper' style='position:absolute;  z-index:1001;  display:none;'></div>";
    $('body').append(strConfirm);

    strConfirm = "";
    strConfirm += "<div id='ConfirmDiv' style='position:absolute;display:none;z-index:1002; display:none;'>";
    strConfirm += "  <div class='message_width'>";
    strConfirm += "    <table class='message_title' id='alertMessageTitle'>";
    strConfirm += "      <tr>";
    strConfirm += "        <td><div class='message_div'>$$$Confirm$$$</div>";
    strConfirm += "              <div class='message_close'><img  id='closeButton'  style='cursor:pointer;' onmouseover=\"this.src='$$$CloseImageMouseOver$$$'\" onmouseout=\"this.src='$$$CloseImage$$$'\" src='$$$CloseImage$$$' alt='Close' title='Close' width='40' height='40' /></div>";
    strConfirm += "          </td>";
    strConfirm += "      </tr>";
    strConfirm += "    </table>";
    strConfirm += "  </div>";
    strConfirm += "  <div class='message_width' id='alertMessageContent'>";
    strConfirm += "    <table class='message_contain' cellpadding='0' cellspacing='0'>";
    strConfirm += "      <tr>";
    strConfirm += "        <td colspan='2' height='25'>&nbsp;</td>";
    strConfirm += "      </tr>";
    strConfirm += "      <tr>";
    strConfirm += "        <td class='message_leftcontain'><img src='$$$ConfirmImage$$$' alt='' title='' width='40' height='40' /></td>";
    strConfirm += "        <td class='message_rightcontain'><div id='confirmMessageDiv'>";
    strConfirm += "                </div>";
    strConfirm += "      </tr>";
    strConfirm += "      <tr>";
    strConfirm += "        <td colspan='2' height='35'>&nbsp;</td>";
    strConfirm += "      </tr>";
    strConfirm += "      <tr>";
    strConfirm += "        <td colspan='2' class='message_buttontd'><input  id='confirmOKButton'  class='message_button' type='button' name='btnOk' value='$$$ButtonOK$$$'/>&nbsp;&nbsp;&nbsp;<input  id='confirmCancelButton'  class='message_button' type='button' name='btnOk' value='$$$ButtonCancel$$$'/></td>";
    strConfirm += "      </tr>";
    strConfirm += "    </table>";
    strConfirm += "  </div>";

    strConfirm += "</div>";
    strConfirm = ResourceReplace(strConfirm);

    $('body').append(strConfirm);
}

window.showConfirm = function(message, okCallBack, cancelCallBack) {
    if (message) {
        message = message.toString();
        message = message.replace(/\r\n/g, "<br/>")
    }

    if (isConfirmDivBuilded == false) {
        BuildConfirmDiv();
    }

    var confirmDiv = document.getElementById("ConfirmDiv");
    $("#ConfirmDiv").show().fadeIn(300);
    var confirmMessageDiv = document.getElementById("confirmMessageDiv");
    $("#confirmMessageDiv").html(message);

    var alertMessageTitle = document.getElementById("alertMessageTitle");
    var alertMessageContent = document.getElementById("alertMessageContent");
    alertMessageTitle.style.width = alertMessageContent.offsetWidth;

    confirmDiv.style.top = document.documentElement.scrollTop + (document.documentElement.clientHeight - parseInt(confirmDiv.offsetHeight)) / 2 + "px";
    confirmDiv.style.left = document.documentElement.scrollLeft + (document.documentElement.clientWidth - parseInt(confirmDiv.offsetWidth)) / 2 + "px";

    var confirmCancelButton = document.getElementById("confirmCancelButton");
    var confirmOKButton = document.getElementById("confirmOKButton");
    var closeButton = document.getElementById("closeButton");
    $("#ConfirmDiv").decorateIframe();
    ShowMessageBoxOverlay();

    $("#confirmCancelButton").focus();

    closeButton.onclick = confirmCancelButton.onclick = function() {
        $("#ConfirmDiv").hide().fadeOut(300);
        if (cancelCallBack != null && cancelCallBack != "") {
            eval(cancelCallBack);
        }
        $("#ConfirmDiv").remove();
        $("#ConfirmDivWraper").remove();
        HideMessageBoxOverlay();

        return false;
    }
    confirmOKButton.onclick = function() {
        $("#ConfirmDiv").hide().fadeOut(300);
        if (okCallBack != null && okCallBack != "") {
            eval(okCallBack);
        }
        $("#ConfirmDiv").remove();
        $("#ConfirmDivWraper").remove();
        HideMessageBoxOverlay();

        return false;
    }

    return false;
}
	