﻿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;
};

friend.ConfirmPass = function(msgid, sourceType, reqid, serialTitle) {
    if (typeof sourceType == 'undefined' || !sourceType)
        sourceType = 1;
    //    alert(reqid);
    $modal.close();
    if (typeof serialTitle == 'undefined') serialTitle = null;
    
    new $Ajax.Request('/Ajax/FriendsCenter/ApproveFriendRequest.aspx?seed=' + Math.random(), {
        method: 'post',
        parameters: { msgid: msgid, feedback: 1, reqid: reqid, show: 1, serialTitle: serialTitle },
        onComplete: function(transport) {

            var r = transport.responseText;
            if (r == "alreadlyFriend") {
                msg.SystemAction(msgid, sourceType, 1);
                return;
            }


            $modal('', '');
            $T.UI.ModalPopup.DOM.msgid = msgid;
            $T.UI.ModalPopup.DOM.reqid = reqid;
            $T.UI.ModalPopup.DOM.sourceType = sourceType;

            $T.UI.ModalPopup.DOM.id = 'popWin';
            $T.UI.ModalPopup.DOM.innerHTML = transport.responseText;
            Reposition();
            BindWaterMark('newfcname', '添加分组');
        }
    });
};
friend.Pass = function(form) {
    form = $(form);
    if (form) {
        //        alert(form.serialize());
        new $Ajax.Request(form.action, {
            method: 'post',
            parameters: form.serialize(),
            onComplete: function(transport) {
                if (transport.responseText == 'ok') {
                    // 更新系统消息
                    //function(msgid, sourceType, feedback, returnUrl)
                    msg.SystemAction($T.UI.ModalPopup.DOM.msgid, $T.UI.ModalPopup.DOM.sourceType, 1);
                }
                else if (transport.responseText == 'myfull') {
                    $modal.close();
                    alert('添加好友失败，您的好友人数已达上限');
                } else if (transport.responseText == 'hefull') {
                    $modal.close();
                    alert('添加好友失败，对方的好友数量已经达上限');
                }
            }
        });
    }
};