﻿var msg = {};

msg.ToggleCheckAll = function(isChecked) {
    var cheched = isChecked;
    $$('input[type="checkbox"][name="msgid"]').each(function(s) {
        s.checked = cheched;
    });
};

msg.ReloadSystem = function(pageIndex, sourceType) {
    location.href = location.href;
    return;


    if (typeof pageIndex == 'undefined' || !pageIndex) {
        if (window.pageIndex || document.pageIndex)
            pageIndex = window.pageIndex ? window.pageIndex : document.pageIndex;
        else
            pageIndex = 1
    }
    if (typeof sourceType == 'undefined' || !sourceType)
        sourceType = 0;

    new $Ajax.Request((sourceType == 0 ? 'system' : 'friendrequest') + pageIndex + '.html', {
        method: 'post',
        parameters: 'ajax=1',
        onComplete: function(transport) {
            var appcontainer = $('appcontainer');
            appcontainer.innerHTML = transport.responseText;
            BindClose();
        }
    });
};

msg.ShowClearSystemDlg = function(sourceType) {
    if (typeof sourceType == 'undefined' || !sourceType)
        sourceType = 0;

    $modal('', '');
    $T.UI.ModalPopup.DOM.id = 'popWin';
    $T.UI.ModalPopup.DOM.sourceType = sourceType;
    $T.UI.ModalPopup.DOM.innerHTML = $('popWin_ClearSystem').innerHTML;
    Reposition();
    return;
}

msg.ClearSystem = function(sourceType) {
    if (typeof sourceType == 'undefined' || !sourceType) {
        sourceType = $T.UI.ModalPopup.DOM.sourceType;
        if (typeof sourceType == 'undefined' || !sourceType)
            sourceType = 0;
    }

    new $Ajax.Request('/Ajax/MessageCenter/ClearSystemMessages.aspx', {
        method: 'post',
        parameters: 'type=' + sourceType,
        onComplete: function(transport) {
            if (transport.responseText == 'ok') {
                msg.ReloadSystem(null, sourceType);
            }
        }
    });
};

msg.DeleteSelectedSystem = function(sourceType) {
    if (typeof sourceType == 'undefined' || !sourceType)
        sourceType = 0;

    new $Ajax.Request('/Ajax/MessageCenter/RemoveSystemMessages.aspx?type=' + sourceType, {
        method: 'post',
        parameters: $('sysform').serialize(),
        onComplete: function(transport) {
            if (transport.responseText == 'ok') {
                msg.ReloadSystem(null, sourceType);
            }
        }
    });
};

msg.DeleteSystem = function(msgid, sourceType) {
    if (typeof sourceType == 'undefined' || !sourceType)
        sourceType = 0;

    new $Ajax.Request('/Ajax/MessageCenter/RemoveSystemMessage.aspx', {
        method: 'post',
        parameters: { id: msgid, type: sourceType },
        onComplete: function(transport) {
            if (transport.responseText == 'ok') {
                msg.ReloadSystem(null, sourceType);
            }
        }
    });
};

msg.SystemAction = function(msgid, sourceType, feedback, returnUrl) {
    new $Ajax.Request('/Ajax/MessageCenter/SetSystemMessageFeedbackStatus.aspx', {
        method: 'post',
        parameters: { id: msgid, type: sourceType, feedback: feedback },
        onComplete: function(transport) {
            if (transport.responseText == 'ok') {
                if (typeof returnUrl == 'undefined' || !returnUrl) {
                    msg.ReloadSystem(null, sourceType);
                    $modal.close();
                }
                else {
                    location.href = returnUrl;
                }
            }
        }
    });
};


msg.RenderSystem = function(obj) {

    var result = '';
    if (!systemplates[obj.sourceKey])
        result = systemplates.sys(obj);
    else
        result = systemplates[obj.sourceKey](obj);

    return result;
};

msg.HtmlEncode = function(str) {
    var d = document.createElement('div');
    d.innerText = str;
    d.textContent = str;
    return d.innerHTML;
};


