var _ieFrame = null;
var _openDialogId = null;

function commonDoLoad() {
}

function commonShowDialogRelative(dialogId, element) {
    if (_openDialogId) {
        var closingSelf = (_openDialogId == dialogId);
        commonHideDialog(_openDialogId);
        if (closingSelf) {
            return;
        }
    }
    _openDialogId = dialogId;
    var dialog = document.getElementById(dialogId);
    var pos = commonGetElementPos(element);
    if (pos[0] + element.offsetWidth <= screen.width / 2) {
        dialog.style.left = (pos[0] + element.offsetWidth + 10) + 'px';
        dialog.style.top = ((pos[1] + element.offsetHeight / 2) - (dialog.offsetHeight / 2)) + 'px';
    } else {
        dialog.style.left = (pos[0] - 10 - dialog.offsetWidth) + 'px';
        dialog.style.top = ((pos[1] + element.offsetHeight / 2) - (dialog.offsetHeight / 2)) + 'px';
    }
    if (commonIsIE()) {
        if (!_ieFrame) {
            _ieFrame = document.createElement('DIV');
            _ieFrame.style.zIndex = 10000;
            _ieFrame.innerHTML = '<iframe id="_ie_frame" name="_ie_frame" src="javascript:\'\'" scrolling="no" marginheight="0" marginwidth="0" frameborder="0" width="100%" height="100%"></iframe>';
            _ieFrame.style.left = '-10000px';
            _ieFrame.style.top = '-10000px';
            _ieFrame.style.position = 'absolute';
            document.getElementsByTagName('BODY')[0].appendChild(_ieFrame);
        }
        _ieFrame.style.left = dialog.style.left;
        _ieFrame.style.top = dialog.style.top;
        _ieFrame.style.width = dialog.offsetWidth + 'px';
        _ieFrame.style.height = dialog.offsetHeight + 'px';
        _ieFrame.style.visibility = 'visible';
    }
    dialog.style.visibility = 'visible';
}

function commonShowDialog(dialogId) {
    if (_openDialogId) {
        commonHideDialog(_openDialogId);
    }
    _openDialogId = dialogId;
    var dialog = document.getElementById(dialogId);
    var windowWidth = window.innerWidth ? window.innerWidth : document.documentElement.clientWidth;
    var windowHeight = window.innerHeight ? window.innerHeight : document.documentElement.clientHeight;
    var scrolls = commonGetScrollXY();
    dialog.style.left = ((windowWidth - dialog.offsetWidth) / 2 + scrolls[0]) + 'px';
    dialog.style.top = ((windowHeight - dialog.offsetHeight) / 2 + scrolls[1]) + 'px';
    if (commonIsIE()) {
        if (!_ieFrame) {
            _ieFrame = document.createElement('DIV');
            _ieFrame.style.zIndex = 10000;
            _ieFrame.innerHTML = '<iframe id="_ie_frame" name="_ie_frame" src="javascript:\'\'" scrolling="no" marginheight="0" marginwidth="0" frameborder="0" width="100%" height="100%"></iframe>';
            _ieFrame.style.left = '-10000px';
            _ieFrame.style.top = '-10000px';
            _ieFrame.style.position = 'absolute';
            document.getElementsByTagName('BODY')[0].appendChild(_ieFrame);
        }
        _ieFrame.style.left = dialog.style.left;
        _ieFrame.style.top = dialog.style.top;
        _ieFrame.style.width = dialog.offsetWidth + 'px';
        _ieFrame.style.height = dialog.offsetHeight + 'px';
        _ieFrame.style.visibility = 'visible';
    }
    dialog.style.visibility = 'visible';
}

function commonHideDialog(dialogId) {
    var dialog = document.getElementById(dialogId);
    dialog.style.visibility = 'hidden';
    if (commonIsIE()) {
        if (_ieFrame) {
            _ieFrame.style.visibility = 'hidden';
        }
    }
    _openDialogId = null;
}

function commonGetScrollXY() {
    var scrOfX = 0;
    var scrOfY = 0;
    if (typeof(window.pageYOffset) == 'number') {
        scrOfY = window.pageYOffset;
        scrOfX = window.pageXOffset;
    } else if (document.body && (document.body.scrollLeft || document.body.scrollTop)) {
        scrOfY = document.body.scrollTop;
        scrOfX = document.body.scrollLeft;
    } else if (document.documentElement && (document.documentElement.scrollLeft || document.documentElement.scrollTop)) {
        scrOfY = document.documentElement.scrollTop;
        scrOfX = document.documentElement.scrollLeft;
    }
    return [scrOfX, scrOfY];
}

function commonGetElementPos(element) {
    var x = y = 0;
    if (element.offsetParent) {
        while (element) {
            x += element.offsetLeft;
            y += element.offsetTop;
            element = element.offsetParent
        }
    }
    return [x, y];
}

function commonIsIE() {
    return (navigator.userAgent.indexOf("MSIE") != -1) && (navigator.userAgent.indexOf("Opera") == -1);
}

function commonTrim(s) {
    while (s.substring(0, 1) == ' ') {
        s = s.substring(1, s.length);
    }
    while (s.substring(s.length - 1, s.length) == ' ') {
        s = s.substring(0, s.length - 1);
    }
    return s;
}

function commonTextareaMaxLength(textarea, maxlength) {
    if ((textarea.value) && (textarea.value) && (textarea.value.length > maxlength)) {
        textarea.value = textarea.value.substring(0, maxlength);
    }
}

function commonFormDisable(form, enabled, excludeList) {
    for (var i = 0; i < form.elements.length; i++) {
        var exclude = false;
        if (excludeList) {
            for (var j = 0; j < excludeList.length; j++) {
                if (form.elements[i] == excludeList[j]) {
                    exclude = true;
                }
            }
        }
        if (!exclude) {
            form.elements[i].disabled = !enabled;
        }
    }
}

function commonAction() {
}