﻿jQuery(document).ready(function() {
    jQuery("#reply-form form").validate({
        rules: {
            Content: "required"
        },
        highlight: false,
        errorClass: "error-tip",
        errorElement: "span",
        wrapper: "span"
    });
});
var Role = function() { }
Role.Guest = 0;
Role.Visitor = 1;
Role.GroupMember = 2;
Role.Owner = 4
Role.Vice = 8;
Role.Chief = 16;
Role.Admin = 32;

function managePostMenu() {



    if (role >= Role.Visitor) {
        //登录可见        
        var btnRecommed = jQuery('<a class="button gray-button" href="javascript:void(0)">推荐</a>');
        btnRecommed.click(function() {
            window.open("/Mails.mvc/RecommandTopic/" + topicID, "TopicRecommend");
        });
        btnRecommed.appendTo("#post-menu");

        var btnFavorite = jQuery('<a class="button gray-button ajax" ref="/Forums.mvc/Favorite/' + topicID + '" method="PUT" callback="alert" href="javascript:void(0)">收藏</a>');
        btnFavorite.appendTo("#post-menu");
        if (!isLock) {
            var btnReply = jQuery('<a class="button gray-button Authorize" href="#reply-form">回复</a>');
            btnReply.appendTo("#post-menu");
        }
    }

    if (role >= Role.Owner) {

        //作者可见
        if (role == Role.Owner) {
            var btnDelete = jQuery('<a class="button gray-button ajax Authorize" ref="/Forums.mvc/Delete/' + topicID + '" method="delete" callback="alert redirect" redirect="/Forums.mvc/Topics/' + groupID + '" confirm="你确认要删除该话题" href="javascript:void(0)">删除</a>');
            btnDelete.appendTo("#post-menu");
        }

        if (!isLock) {
            var btnEdit = jQuery('<a class="button gray-button Authorize" href="/Forums.mvc/EditTopic/' + groupID + '?topicID=' + topicID + '">编辑</a>');
            btnEdit.appendTo("#post-menu");
        }
    }

    if (role >= Role.Vice) {
        var btnManagerDelete = jQuery('<a class="button gray-button Authorize">删除</a>');
        btnManagerDelete.click(function() {
            GB_show("删除", "/Forums.mvc/Delete/" + topicID, 160, 450, null);
        });
        btnManagerDelete.appendTo("#post-menu");


        var btnManagerTransfer = jQuery('<a class="button gray-button Authorize">迁移到社区小组</a>');
        btnManagerTransfer.click(function() {
			if(confirm("确定要迁移"))
        GB_show("迁移到社区小组", "/Forums.mvc/Transfer/" + topicID, 160, 450, null);
        });
        btnManagerTransfer.appendTo("#post-menu");

        //            <select id="managerTool" style="display: none;">
        //                    <option value="0">管理</option>
        //                    <option value="setelite">
        //                        <%=Model.IsElite?"取消":"" %>精华</option>
        //                    <option value="staytop">
        //                        <%=Model.IsTop?"取消":"" %>置顶</option>
        //                    <option value="lock">
        //                        <%=Model.IsLock?"取消":"" %>锁定</option>
        //                    <option value="highlight">
        //                        <%=!string.IsNullOrEmpty(Model.Color)?"取消":"" %>高亮</option>
        //                </select>

        var managerTool = $('<select id="managerTool"></select>');
        $('<option value="0">管理</option>').appendTo(managerTool);
        
        $('<option value="staytop">' + (isTop ? "取消" : "") + '置顶</option>').appendTo(managerTool);
        $('<option value="lock">' + (isLock ? "取消" : "") + '锁定</option>').appendTo(managerTool);
        $('<option value="recomended">' + (isRecommend ? "取消" : "通过") + '审核</option>').appendTo(managerTool);
        $('<option value="highlight">' + (isHighlight ? "取消" : "") + '高亮</option>').appendTo(managerTool);
        if (role >= Role.Admin) {
            $('<option value="setelite">' + (isElite ? "取消" : "") + '精华</option>').appendTo(managerTool);
            //活动贴
            if(topicType == 1)
                $('<option value="addscore">加分</option>').appendTo(managerTool);
        }

        //管理员工具
        managerTool.change(function() {
            var $this = $(this);
            if ($this.val() == "0")
                return;

            if ($this.val() == "addscore") {
                GB_show("加分", "/Forums.mvc/AddScore/" + topicID + "?isReply=false", 180, 450, null);
                return;
            }

            if (!confirm("你确认要对该话题进行 " + $("option[selected]", $this).text() + " 操作吗?"))
                return;

            var url = "/Forums.mvc/" + $this.val() + "/" + topicID;
            jQuery.post(url, null, function(data) {
                alert(data);
                if (groupID != undefined)
                    window.location = "/Forums.mvc/Topics/" + groupID;
                else
                    window.location.reload();
            });
        });
        managerTool.appendTo("#post-menu");
    }

}

function manageReplyMenu() {
    $('ul.reply-list li div.menu').each(function(n, e) {
        $menu = $(e);
        var id = $menu.attr("title");
        if (role >= Role.Visitor && id > 0) {
            var btnReply = jQuery('<a class="button gray-button" href="#reply-form">引用</a>');
            btnReply.click(function() {
                var $this = $(this);
                var rID = $this.parent("div").attr("title");
                var text = jQuery("#replyContent" + rID).html();
                var authorName = jQuery("#replierName" + rID).html()
                var regex = /<(\/?)blockquote>/ig;
                text = text.replace(regex, "[$1quote]");
                regex = /<[^>]*>/g;
                text = text.replace(regex, "");
                regex = /\[(\/?)quote\]/ig;
                text = text.replace(regex, "<$1blockquote>");
                if (editor == null)
                    switchMode();
                editor.setSource("<blockquote>引用 " + authorName + " 的回复:<br/>" + text + "</blockquote><br/>");
                $("#reply-form #refID").val(rID);

            });
            btnReply.appendTo($menu);
        }

        //作者可见
        // var btnEdit = jQuery('<a class="button gray-button" href="#reply-form">编辑</a>');
        //btnEdit.appendTo($menu);

        if (role >= Role.Vice || id == jQuery.UserID) {
            var btnDelete = jQuery('<a class="button gray-button ajax Authorize" ref="/Forums.mvc/DeleteReply/' + id + '" method="delete" callback="alert redirect" redirect="/Forums.mvc/Topic/' + topicID + '" confirm="你确认要删除该回复" href="javascript:void(0)">删除</a>');
            btnDelete.appendTo($menu);
        }

    });
}

var editor = null;
function switchMode() {
    if (editor == null) {
        editor = jQuery('#Content').xheditor(true, { tools: "simple", upImgUrl: "/Upload.mvc", maxImgCount: 5, alertFun: GB_info, showBlocktag: false })[0].xheditor;
        jQuery('.textEmots li').mousedown(function() {
            editor.pasteText(jQuery(this).text());
        });
        jQuery('#modeSwitcher').remove();
    }
}
managePostMenu();
manageReplyMenu();
jQuery('#Content').editor();