﻿/** * @author cuong.tran * @email cuong.tran@enclaveit.com, cuongtranquoc@gmail.com * @function Message * @last update: 09/01/2009  */
IncludeCss("/Js/Message/Message.css");
messase_AlreadyShow = false;
isMac = (navigator.appVersion.indexOf("Mac") != -1) ? true : false;
NS4 = (document.layers) ? true : false;
IEmac = ((document.all) && (isMac)) ? true : false;
IE4plus = (document.all) ? true : false;
IE4 = ((document.all) && (navigator.appVersion.indexOf("MSIE 4.") != -1)) ? true : false;
IE5 = ((document.all) && (navigator.appVersion.indexOf("MSIE 5.") != -1)) ? true : false;
ver4 = (NS4 || IE4plus) ? true : false;
NS6 = (!document.layers) && (navigator.userAgent.indexOf('Netscape') != -1) ? true : false;
// Body onload utility (supports multiple onload functions)
var gSafeOnscroll = new Array();
var gSafeOnresize = new Array();
function IncludeCss(cssFile) {
    document.write('<link  rel="stylesheet" type="text/css" href="' + cssFile + '" />');
};
function showMask() {
    var MessageBodyMask = document.getElementById('bodymask');
    if (MessageBodyMask) {
        MessageBodyMask.style.display = 'block';
        MessageBodyMask.style.zindex = '9';
        MessageBodyMask.style.width = /*document.body.clientWidth*/viewportWidth() + 'px';
        MessageBodyMask.style.height = /*document.body.clientHeight*/viewportHeight() + 'px';
    }
};
function hideMask() {
    var MessageBodyMask = document.getElementById('bodymask');
    if (MessageBodyMask) {
        MessageBodyMask.style.display = 'none';
        MessageBodyMask.style.zindex = '-999';
    }
};
function showMessage(title, content) {
    var MessagePanel = document.getElementById('mess');
    if (MessagePanel) {       
        var MessageTitlebox = document.getElementById('mess_title');
        var MessageContentbox = document.getElementById('mess_content');        		showMask();
        MessagePanel.style.display = 'block';
        MessagePanel.style.zindex = '9999';
        MessageTitlebox.innerHTML = title;
        MessageContentbox.innerHTML = content;
        /*if (padding_top != NaN) {		
        MessagePanel.style.top = padding_top + 'px';
        }
        else */
        {
            MessagePanel.style.top = ((document.body.clientHeight / 2) - (getElementHeight('mess') / 2) + getScrollXY()[1]) + 'px';
        }
        MessagePanel.style.left = ((document.body.clientWidth - 300) / 2) + 'px';
    }
    messase_AlreadyShow = true;
};
function hideMessage(idocument) {	
    if (!idocument) {
        idocument = document;
    }
    var MessagePanel = idocument.getElementById('mess');
    if (MessagePanel) {
        hideMask();
        //MessagePanel.style.display = 'none';
        MessagePanel.style.left = '-9999px';
    }	messase_AlreadyShow = false;    
};
function getScrollXY() {
    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;
    }
    return [scrOfX, scrOfY];
};
function focusField(fieldname) {
    var thisField = document.getElementById(fieldname);
    try {
        thisField.select();
        thisField.focus();
    }
    catch (e) {
    }
};
function viewportHeight() {
    //return self.innerHeight || (document.documentElement.clientHeight || document.body.clientHeight);
    return (document.height !== undefined) ? document.height : document.body.offsetHeight
};
function viewportWidth() {
    //return self.innerWidth || (document.documentElement.clientWidth || document.body.clientWidth);
    return (document.width !== undefined) ? document.width : document.body.offsetWidth;
};
function initMessage() {
    document.write("<style type='text/css'>fieldset{padding:0 !important; margin: 5px 0px 5px 0 !important; -moz-border-radius-bottomleft: 10px !important; -moz-border-radius-bottomright: 10px !important; -moz-border-radius-topleft: 10px !important; -moz-border-radius-topright: 10px !important; border:solid 1px #F1F1F1 !important;}.mybody1{ font-size: 11px; font-family: Verdana;}.mybody1 .header1{ -moz-border-radius-bottomleft: 5px; -moz-border-radius-bottomright: 5px; -moz-border-radius-topleft: 5px; -moz-border-radius-topright: 5px; border: solid 1px #F1F1F1; height: 18px; font-size: 11px; line-height: 16px; font-weight: bold; text-indent: 8px; margin-bottom: 5px; color: #555; background-color: #F8F8F8;}</style>");
    document.write("<div id='bodymask' style='display:none;z-index: 9000;background-color:#CCCCCC;left:0;top:0;position:absolute;opacity:0.5;-ms-filter:\"progid:DXImageTransform.Microsoft.Alpha(Opacity=50)\";filter:alpha(opacity=50);" + "width:100%;height:100%;'></div>");
    document.write("<div id='mess' class='mybody1' style='width: 350px;overflow: hidden;position: absolute; display: none;left:-9999px; z-index:9999;'><fieldset style='background-color: White;width:98%'> <div class='header1'> <span id='mess_title'></span> </div> <div style='margin-bottom: 5px; margin-top: 5px; text-align: center;'> <div id='mess_content'></div> </div></fieldset></div>");
};
function getEHeight(Elem) {
    var elem;
    if (document.getElementById) {
        elem = document.getElementById(Elem);
    }
    else
        if (document.all) {
        elem = document.all[Elem];
    }
    try {
        return elem.offsetHeight;
    } catch (e) { return 0; }
};
function SafeAddOnscroll(f) {
    if (IEmac && IE4)  // IE 4.5 blows out on testing window.onload
    {
        window.onscroll = SafeOnscroll;
        gSafeOnscroll[gSafeOnscroll.length] = f;
    }
    else if (window.onscroll) {
        if (window.onscroll != SafeOnscroll) {
            gSafeOnscroll[0] = window.onscroll;
            window.onscroll = SafeOnscroll;
        }
        gSafeOnscroll[gSafeOnscroll.length] = f;
    }
    else
        window.onscroll = f;
};
function SafeOnscroll() {
    for (var i = 0; i < gSafeOnscroll.length; i++)
        gSafeOnscroll[i]();
};
function SafeAddOnresize(f) {
    if (IEmac && IE4)  // IE 4.5 blows out on testing window.onresize
    {
        window.onresize = SafeOnresize;
        gSafeOnresize[gSafeOnresize.length] = f;
    }
    else if (window.onresize) {
        if (window.onresize != SafeOnresize) {
            gSafeOnresize[0] = window.onresize;
            window.onresize = SafeOnresize;
        }
        gSafeOnresize[gSafeOnresize.length] = f;
    }
    else
        window.onresize = f;
};
function SafeOnresize() {
    for (var i = 0; i < gSafeOnresize.length; i++) {
        gSafeOnresize[i]();
    }
};
function moveMessage() {
    if (messase_AlreadyShow) {
        var MessagePanel = document.getElementById('mess');
        if (MessagePanel) {
            MessagePanel.style.top = (((screen.availHeight - getElementHeight('mess')) / 2.5) +  getScrollXY()[1]) + 'px';
        }
    }
};
// Call the following with your function as the argument
SafeAddOnscroll(moveMessage);
SafeAddOnresize(moveMessage);