﻿//初始化
var modulesPath = "/cms/modules/"  ;
var proxyName = "/cmsData/myapp.cmsdata.dao"  ;
var defaultPublicParams ;       //获取默认的公共的参数数组
$(function() {


})  ;

/**
 * 内嵌网页
 * @param moduleDiv
 * @param moduleParams
 * @param reloadHtml
 */
function iframe(moduleDiv, moduleParams, reloadHtml) {
    if (reloadHtml) {
        var ifa = $('<iframe style="overflow: hidden" frameborder="0" width="100%"></iframe>')
                .attr("src", moduleParams.uri)
                .appendTo($(moduleDiv));
        moduleParams.frameHeight && ifa.css("height", moduleParams.frameHeight);
    }

}


/**
 * 关于我
 * @param moduleDiv
 * @param moduleParams
 * @param reloadHtml
 */
function aboutme(moduleDiv, moduleParams, reloadHtml) {
    if (reloadHtml) {// 是否重新加载内容
        getUserFromNodeId(function(userName) {
            $.post("/userData/myapp.userdata.dao/Dao_T_User/getRowsByField.fn", "fieldName=f_userName&fieldValue=" + userName, function(data) {
                userInfo = JSON.parse(data)[0];
                var userInfoBlcok = "<ul>";
                userInfoBlcok = userInfoBlcok + "<li>昵称：" + ($.trim(userInfo.f_nickName) == "" ? userName : userInfo.f_nickName) + "</li>";
                userInfoBlcok = userInfoBlcok + "<li><img src=\"" + userInfo.f_face + "\"/></li>";
                userInfoBlcok = userInfoBlcok + "<li>用户签名：" + userInfo.f_sign + "</li>";
                if (moduleParams.isPrivate) {
                    userInfoBlcok = userInfoBlcok + "<li>QQ或MSN:" + userInfo.f_IM + "</li>";
                    userInfoBlcok = userInfoBlcok + "<li>出生日期：" + userInfo.f_birthday + "</li>";
                }
                userInfoBlcok = userInfoBlcok + "<li>手机：" + userInfo.f_mobilePhone + "</li>";
                userInfoBlcok = userInfoBlcok + "<li>个人主页：<a href='" + userInfo.f_homePage + "' target='blank'>" + userInfo.f_homePage + "</a></li>";
                userInfoBlcok = userInfoBlcok + "</ul>";
                $(moduleDiv).html(userInfoBlcok);
            });

        })

    }
}

/**
 * 博客日历显示
 * @param moduleDiv
 * @param moduleParams
 * @param reloadHtml
 */
function blogCalendar(moduleDiv, moduleParams, reloadHtml) {
    var options = {
        height: 300,
        width: '100%',
        navHeight: 25,
        labelHeight: 25,
        headerHeight: 50,
        firstDayOfWeek: 0,
        calendarStartDate:new Date(),
        dragableEvents: false,
        activeDroppableClass: false,
        hoverDroppableClass: false,
        navLinks: {
            enableToday: true,
            enableNextYear: true,
            enablePrevYear: true,
            p:'上月',
            n:'下月',
            t:'当天',
            showMore: 'Show More'
        },
        onMonthChanging: function(dateIn) {
            return true;
        },
        onMonthChanged: function(dateIn) {
            return true;
        },
        onEventLinkClick: function(event) {
            return true;
        },
        onEventBlockClick: function(event) {
            return true;
        },
        onEventBlockOver: function(event) {
            return true;
        },
        onEventBlockOut: function(event) {
            return true;
        },
        onDayLinkClick: function(date) {
            return true;
        },
        onDayCellClick: function(date) {
            return true;
        },
        onDayCellDblClick: function(dateIn) {
            return true;
        },
        onEventDropped: function(event, newDate) {
            return true;
        },
        onShowMoreClick: function(eventArray) {
            return true;
        },
        locale: {
            days: ["日", "一", "二", "三", "四", "五", "六", "日"],
            daysShort: ["Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat", "Sun"],
            daysMin: ["Su", "Mo", "Tu", "We", "Th", "Fr", "Sa", "Su"],
            months: ["一月", "二月", "三月", "四月", "五月", "六月", "七月", "八月", "九月", "十月", "十一月", "十二月"],
            monthsShort: ["Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"],
            weekMin: 'wk'
        }
    };
    var events = [
        { "EventID": 1, "StartDateTime": new Date(2009, 5, 12), "Title": "10:00 pm - EventTitle1", "URL": "#", "Description": "This is a sample event description", "CssClass": "Birthday" },
        { "EventID": 2, "StartDateTime": "2009-05-28T00:00:00.0000000", "Title": "9:30 pm - this is a much longer title", "URL": "#", "Description": "This is a sample event description", "CssClass": "Meeting" }
    ];
    if (reloadHtml) {
        moduleDiv = $(moduleDiv);
        moduleDiv.append("<div id='jMonthCalendar'/>") ;
        $.getScript(modulesPath + 'blogCalendar/jMonthCalendar.js');
        $.jMonthCalendar.Initialize(options, events);
    }
}

/**
 * 博客内容显示列表
 * @param moduleDiv
 * @param moduleParams
 * @param reloadHtml
 * @param module
 */
function blogContentList(moduleDiv, moduleParams, reloadHtml, module) {
    moduleDiv = $(moduleDiv);
    if (!module.attr("id"))module.attr("id", "mod_" + Math.random())  ;
    String.prototype.sub = function(n) {
        var r = /[^\x00-\xff]/g;
        if (this.replace(r, "mm").length <= n) return this;
        // n = n - 3;
        var m = Math.floor(n / 2);
        for (var i = m; i < this.length; i++) {
            if (this.substr(0, i).replace(r, "mm").length >= n) {
                return this.substr(0, i);
            }
        }
    }


    function generalTitle(c, blogitem) {
        $("<div class='blog-cl-t'/>")
                .append($("<div class='title'/>").append("<a href='contentPage.jsp?id=" + c.f_id + "' class='a-comment' target='" + moduleParams.target + "'>" + c.f_title + "</a>"))
                .append($("<div class='time'/>").append(c.f_createTime))
                .appendTo(blogitem);
    }

    function generalContext(c, blogitem) {
        $("<div class='blog-cl-c'/>")
                .append($("<div class='context'/>").append((c.f_text || "").sub(200) + '...'))
                .appendTo(blogitem);
    }

    function generalText(c, blogitem) {
        var t = $("<div class='text'/>").append(moduleParams.text);
        t.data('row', c);
        $("<div class='blog-cl-text'/>")
                .append(t)
                .appendTo(blogitem);
    }

    function generalOthers(c, blogitem) {
        if (moduleParams.fields.length == 0)return;
        var fields = moduleParams.fields.split(",");
        var o = $("<div class='blog-cl-o'/>")
                .appendTo(blogitem);
        $.each(fields, function(i, n) {
            var namevalue = n.split(':');
            o.append($("<div class='other-" + namevalue[1] + "'/>").append(namevalue[0] + ":" + c[namevalue[1]]));
        })

    }

    function generalComment(c, blogitem) {
        $("<div class='blog-cl-cm'/>")
                .append($("<div class='comment'/>")
            //.append("<a href='contentPage.jsp?id=" + c.f_id + "#comment' class='a-comment'>评论(" + c.f_commentCount + ")</a>")
            //.append('<span class="sep">|</span>')
                .append("<a target='" + moduleParams.target + "' href='contentPage.jsp?id=" + c.f_id + "' class='a-comment'>阅读全文</a>")
                )
                .appendTo(blogitem);
    }

    ;
    function generalCommentList(blogitem, contentId) {
        var comm = $("<div class='module'/>").attr("module", '{"name":"comment_list","params":{"f_contentId":' + contentId + '}}').appendTo(blogitem);
        loadModule(comm, true);
    }

    function generalCommentAdd(blogitem, contentId) {
        var comm = $("<div class='module'/>").attr("module", '{"name":"comment_add","params":{"f_contentId":' + contentId + '}}').appendTo(blogitem);
        loadModule(comm, true);
    }

    if (reloadHtml) {//是否重新加载内容
        getConditions(moduleParams, function(condition) {
            var items = $("<div/>").appendTo(moduleDiv);
            condition = condition || [];
            condition[0] += " and f_state=9";
            $.get(proxyName + "/Dao_T_Content/getRowsByCase.fn", "whereQuery=" + encodeURI(JSON.stringify(condition)) + "&pageSize=" + moduleParams.pageSize + "&pageIndex=" + moduleParams.pageIndex + "&orderSql=" + moduleParams.orderSql, function(contents) {
                contents = JSON.parse(contents);
                $.each(contents, function(i, c) {
                    var blogitem = $("<div class='blog-item'/>").appendTo(items);
                    generalTitle(c, blogitem);
                    generalContext(c, blogitem);
                    generalOthers(c, blogitem);
                    generalText(c, blogitem);
                    blogitem.append("<div class='clearfloat'></div>");
                    generalComment(c, blogitem);
                });
            });
            if (moduleParams.isPagination) {
                $.get(proxyName + "/Dao_T_Content/getCountByCase.fn", "whereQuery=" + encodeURI(JSON.stringify(condition)), function(count) {
                    var page1 = $('<div module=\'{"name":"pagination","params":{"pageSize":' + moduleParams.pageSize + ',"pageIndex":' + (moduleParams.pageIndex ? moduleParams.pageIndex : 0) + ',"targetID":"' + module.attr("id") + '","total":' + count + '}}\'></div>');
                    moduleDiv.append(page1);
                    loadModule(page1, true);
                });  }
        });
    }
}

/**
 * 通用列表模块
 * @param moduleDiv
 * @param moduleParams
 * @param reloadHtml
 */
function commonList(moduleDiv, moduleParams, reloadHtml) {
    getConditions(moduleParams, function(condition) {
        moduleDiv = $(moduleDiv);
        var tableName = moduleParams.tableName;
//    var condition=getConditions(moduleParams);

        var conditions = {
            whereQuery:JSON.stringify(condition),
            pageSize:moduleParams.pageSize || 5,
            pageIndex:moduleParams.pageIndex || 0,
            orderSql:moduleParams.orderSql || ''
        }
        if (reloadHtml) {
            var ul = $("<ul class='common-ul'/>").appendTo(moduleDiv)  ;
            $.get(proxyName + "/" + tableName + "/getRowsByCase.fn", $.param(conditions),
                    function(data) {
                        data = JSON.parse(data) ;
                        $.each(data, function(i, row) {
                            var title = row[moduleParams.fieldName].subchar(moduleParams.words) ;
                            ul.append("<li class='common-li'>" +
                                    "<a href='" + moduleParams.link + "?id=" + (row[moduleParams.linkParam]) + "'>" + title + "</a>" +
                                    "</li>");
                        });

                    });

        }

    });
}

/**
 *
 * @param moduleDiv
 * @param moduleParams
 * @param reloadHtml
 * @param module
 */
function content_list(moduleDiv, moduleParams, reloadHtml, module) {
    (function($) {
        /**
         * @class Class for calculating pagination values
         */
        $.PaginationCalculator = function(maxentries, opts) {
            this.maxentries = maxentries;
            this.opts = opts;
        }

        $.extend($.PaginationCalculator.prototype, {
            /**
             * Calculate the maximum number of pages
             *
             * @method
             * @returns {Number}
             */
            numPages : function() {
                return Math.ceil(this.maxentries / this.opts.items_per_page);
            },
            /**
             * Calculate start and end point of pagination links depending on
             * current_page and num_display_entries.
             *
             * @returns {Array}
             */
            getInterval : function(current_page) {
                var ne_half = Math.floor(this.opts.num_display_entries / 2);
                var np = this.numPages();
                var upper_limit = np - this.opts.num_display_entries;
                var start = current_page > ne_half ? Math.max(Math.min(current_page - ne_half, upper_limit), 0) : 0;
                var end = current_page > ne_half ? Math.min(current_page + ne_half + (this.opts.num_display_entries % 2), np) : Math.min(this.opts.num_display_entries, np);
                return {
                    start : start,
                    end : end
                };
            }
        });

        // Initialize jQuery object container for pagination renderers
        $.PaginationRenderers = {}  ;

        /**
         * @class Default renderer for rendering pagination links
         */
        $.PaginationRenderers.defaultRenderer = function(maxentries, opts) {
            this.maxentries = maxentries;
            this.opts = opts;
            this.pc = new $.PaginationCalculator(maxentries, opts);
        }
        $.extend($.PaginationRenderers.defaultRenderer.prototype, {
            /**
             * Helper function for generating a single link (or a span tag if it's the
             * current page)
             *
             * @param {Number}
                    *          page_id The page id for the new item
             * @param {Number}
                    *          current_page
             * @param {Object}
                    *          appendopts Options for the new item: text and classes
             * @returns {jQuery} jQuery object containing the link
             */
            createLink : function(page_id, current_page, appendopts) {
                var lnk, np = this.pc.numPages();
                page_id = page_id < 0 ? 0 : (page_id < np ? page_id : np - 1); // Normalize
                // page id
                // to sane
                // value
                appendopts = $.extend({
                    text : page_id + 1,
                    classes : ""
                }, appendopts || {});
                if (page_id == current_page) {
                    lnk = $("<span class='current'>" + appendopts.text + "</span>");
                } else {
                    lnk = $("<a>" + appendopts.text + "</a>").attr('href', this.opts.link_to.replace(/__id__/, page_id));
                }
                if (appendopts.classes) {
                    lnk.addClass(appendopts.classes);
                }
                lnk.data('page_id', page_id);
                return lnk;
            },
            // Generate a range of numeric links
            appendRange : function(container, current_page, start, end, opts) {
                var i;
                for (i = start; i < end; i++) {
                    this.createLink(i, current_page, opts).appendTo(container);
                }
            },
            getLinks : function(current_page, eventHandler) {
                var begin, end, interval = this.pc.getInterval(current_page), np = this.pc.numPages(), fragment = $("<div class='pagination'></div>");

                // Generate "Previous"-Link
                if (this.opts.prev_text && (current_page > 0 || this.opts.prev_show_always)) {
                    fragment.append(this.createLink(current_page - 1, current_page, {
                        text : this.opts.prev_text,
                        classes : "prev"
                    }));
                }
                // Generate starting points
                if (interval.start > 0 && this.opts.num_edge_entries > 0) {
                    end = Math.min(this.opts.num_edge_entries, interval.start);
                    this.appendRange(fragment, current_page, 0, end, {
                        classes : 'sp'
                    });
                    if (this.opts.num_edge_entries < interval.start && this.opts.ellipse_text) {
                        jQuery("<span>" + this.opts.ellipse_text + "</span>").appendTo(fragment);
                    }
                }
                // Generate interval links
                this.appendRange(fragment, current_page, interval.start, interval.end);
                // Generate ending points
                if (interval.end < np && this.opts.num_edge_entries > 0) {
                    if (np - this.opts.num_edge_entries > interval.end && this.opts.ellipse_text) {
                        jQuery("<span>" + this.opts.ellipse_text + "</span>").appendTo(fragment);
                    }
                    begin = Math.max(np - this.opts.num_edge_entries, interval.end);
                    this.appendRange(fragment, current_page, begin, np, {
                        classes : 'ep'
                    });

                }
                // Generate "Next"-Link
                if (this.opts.next_text && (current_page < np - 1 || this.opts.next_show_always)) {
                    fragment.append(this.createLink(current_page + 1, current_page, {
                        text : this.opts.next_text,
                        classes : "next"
                    }));
                }
                $('a', fragment).click(function(ee) {
                    eventHandler(ee);
                    return false;
                });
                return fragment;
            }
        });

        // Extend jQuery
        $.fn.pagination = function(maxentries, opts) {

            // Initialize options with default values
            opts = jQuery.extend({
                items_per_page : 10,
                num_display_entries : 11,
                current_page : 0,
                num_edge_entries : 0,
                link_to : "#",
                prev_text : "上一页",
                next_text : "下一页",
                ellipse_text : "...",
                prev_show_always : true,
                next_show_always : true,
                renderer : "defaultRenderer",
                callback : function() {
                    return false;
                }
            }, opts || {});

            var containers = this, renderer, links, current_page;

            /**
             * This is the event handling function for the pagination links.
             *
             * @param {int}
                    *          page_id The new page number
             */
            function paginationClickHandler(evt) {
                var links, new_current_page = $(evt.target).data('page_id'), continuePropagation = selectPage(new_current_page);
                if (!continuePropagation) {
                    evt.stopPropagation();
                }
                return continuePropagation;
            }

            /**
             * This is a utility function for the internal event handlers. It sets the
             * new current page on the pagination container objects, generates a new
             * HTMl fragment for the pagination links and calls the callback function.
             */
            function selectPage(new_current_page) {
                // update the link display of a all containers
                containers.data('current_page', new_current_page);
                links = renderer.getLinks(new_current_page, paginationClickHandler);
                containers.empty();
                links.appendTo(containers);
                // call the callback and propagate the event if it does not return false
                var continuePropagation = opts.callback(new_current_page, containers);
                return continuePropagation;
            }

            // -----------------------------------
            // Initialize containers
            // -----------------------------------
            current_page = opts.current_page;
            containers.data('current_page', current_page);
            // Create a sane value for maxentries and items_per_page
            maxentries = (!maxentries || maxentries < 0) ? 1 : maxentries;
            opts.items_per_page = (!opts.items_per_page || opts.items_per_page < 0) ? 1 : opts.items_per_page;

            if (!$.PaginationRenderers[opts.renderer]) {
                throw new ReferenceError("Pagination renderer '" + opts.renderer + "' was not found in jQuery.PaginationRenderers object.");
            }
            renderer = new $.PaginationRenderers[opts.renderer](maxentries, opts);

            // Attach control events to the DOM elements
            var pc = new $.PaginationCalculator(maxentries, opts);
            var np = pc.numPages();
            containers.bind('setPage', {
                numPages : np
            }, function(evt, page_id) {
                if (page_id >= 0 && page_id < evt.data.numPages) {
                    selectPage(page_id);
                    return false;
                }
            });
            containers.bind('prevPage', function(evt) {
                var current_page = $(this).data('current_page');
                if (current_page > 0) {
                    selectPage(current_page - 1);
                }
                return false;
            });
            containers.bind('nextPage', {
                numPages : np
            }, function(evt) {
                var current_page = $(this).data('current_page');
                if (current_page < evt.data.numPages - 1) {
                    selectPage(current_page + 1);
                }
                return false;
            });

            // When all initialisation is done, draw the links
            links = renderer.getLinks(current_page, paginationClickHandler);
            containers.empty();
            links.appendTo(containers);
            // call callback function
            opts.callback(current_page, containers);
        } // End of $.fn.pagination block

    })(jQuery);
    $.fn.kxbdMarquee = function(options) {
        var opts = $.extend({}, $.fn.kxbdMarquee.defaults, options);
        return this.each(function() {
            var $marquee = $(this);
            var _scrollObj = $marquee.get(0);
            var scrollW = $marquee.width();
            var scrollH = $marquee.height();
            var $element = $marquee.children();
            var $kids = $element.children();
            var scrollSize = 0;
            var _type = (opts.direction == "left" || opts.direction == "right") ? 1 : 0;
            $element.css(_type ? "width" : "height", 10000);
            if (opts.isEqual) {
                scrollSize = $kids[_type ? "outerWidth" : "outerHeight"]() * $kids.length;
            } else {
                $kids.each(function() {
                    scrollSize += $(this)[_type ? "outerWidth" : "outerHeight"]();
                });
            }
            if (scrollSize < (_type ? scrollW : scrollH)) {
                return;
            }
            $element.append($kids.clone()).css(_type ? "width" : "height", scrollSize * 2);
            var numMoved = 0;

            function scrollFunc() {

                var _dir = (opts.direction == "left" || opts.direction == "right") ? "scrollLeft" : "scrollTop";
                if (opts.loop > 0) {
                    numMoved += opts.scrollAmount;
                    if (numMoved > scrollSize * opts.loop) {
                        _scrollObj[_dir] = 0;
                        return clearInterval(moveId);
                    }
                }
                if (opts.direction == "left" || opts.direction == "up") {
                    var tmp = _scrollObj[_dir];
                    _scrollObj[_dir] = tmp + opts.scrollAmount;
                    if (_scrollObj[_dir] >= scrollSize || tmp == _scrollObj[_dir]) {
                        _scrollObj[_dir] = 0;
                    }

                } else {
                    _scrollObj[_dir] = _scrollObj[_dir] - opts.scrollAmount;
                    if (_scrollObj[_dir] <= 0) {
                        _scrollObj[_dir] = scrollSize;
                    }

                }
            }

            var moveId = setInterval(scrollFunc, opts.scrollDelay);
            $marquee.hover(function() {
                clearInterval(moveId);
            }, function() {
                clearInterval(moveId);
                moveId = setInterval(scrollFunc, opts.scrollDelay);
            });
        });
    };
    $.extend(window, {
        toupiao:function(a, alltime, time, days) {
            $.get("/cms/sso_getLoginInfo.jsp", "name=loginUser",
                    function(userName){
                        if (userName == null || userName == "null" || userName == undefined || userName == "") {
                        alert("请登录后再投票！");
                        return false;
                    }
                    var row = $(a).parent().data('row');
                    var cookieCount = $.cookie("goodCount_" + userName + row.f_id);
                    if (!cookieCount)cookieCount = 0;
                    var allcookieCount = $.cookie("goodCount" + userName);
                    if (!allcookieCount)allcookieCount = 0;
                    if (allcookieCount >= alltime) {
                        alert('您的投票已经超过上限');
                        return false;
                    }
                    if (cookieCount >= time) {
                        alert('您已经投过票了');
                        return false;
                    }
                    $.get(proxyName + "/Dao_T_Content/getFieldValue.fn?fieldName=f_goodCount&id=" + row.f_id, '', function(count) {
                        count = parseInt(count) + 1;
                        $.post(proxyName + "/Dao_T_Content/updateById.fn", 'fields={"f_goodCount":' + count + '}&id=' + row.f_id, function() {
                            var d = new Date();
                            if (days == '')days = 1;
                            if (days == -1)days = 1000;
                            var millsecond = parseInt(days) * 3600 * 1000 * 24;
                            d.setTime(d.getTime() + millsecond);
                            $.cookie("goodCount_" + userName + row.f_id, parseInt(cookieCount) + 1, {expires:d});
                            $.cookie("goodCount" + userName, parseInt(allcookieCount) + 1, {expires:d});
                            $(a).find(".ct").html(parseInt(cookieCount) + 1);
                            alert('投票成功，感谢您的支持');
                        });
                    });
                    });

            return false;
        }
    });
    getConditions(moduleParams, function(condition) {
        // field1,field2 formated
        var linkTarget = getParameterByUrl("_t") || moduleParams.linkTarget;
        $(module).addClass(moduleParams.newClass1) ;
        function appendOtherFields(row, tmpdata, content) {
            var fns = moduleParams.fieldNames;
            if (fns.length == 0)
                return;
            var field = fns.split(',');
            for (var i = 0; i < field.length; i++) {
                if (field[i].indexOf(':') < 0) {
                    content.append("<span style='display:inline-block;' class=\"field-" + field[i] + "\">" + tmpdata[row][field[i]] + "</span>");
                } else {
                    var f = field[i].split(":");
                    content.append("<span style='display:inline-block; ' class=\"field-" + f[1] + "\">" + f[0] + ":" + tmpdata[row][f[1]] + "</span>");
                }

            }
        }

        function appendVote(rowdata, content) {
            var t = $("<span style='display:inline-block;' class='vote'/>").append("<a href=\"#\" onclick=\"return toupiao(this," + moduleParams.alltimes + "," + moduleParams.times + "," + moduleParams.period + ")\">投我一票【<span class='ct'>" + rowdata['f_goodCount'] + "</span>】</a>")
                    .appendTo(content);
            t.data('row', rowdata);
            var startday = $.trim(moduleParams.voteStartAt) == '' ? new Date() : new Date(Date.parse(moduleParams.voteStartAt));
            var endday = $.trim(moduleParams.voteEndAt) == '' ? new Date() : new Date(Date.parse(moduleParams.voteEndAt));
            startday.setHours(0, 0, 0);
            endday.setHours(0, 0, 0) ;
//        endday.setDate(startday.getDate()+parseInt(isNaN(moduleParams.voteDays)?'100':moduleParams.voteDays));
            var currDate = new Date();
            if (currDate < startday || currDate > endday) {
                t.find("a").removeAttr("onclick");
                t.find("a").click(function() {
                    if (currDate < startday)
                    { alert(moduleParams.startText);}
                    else
                    { alert(moduleParams.endText); }
                }) ;
                t.find("a").css("color", "gray") ;
            }
        }

        function generalType1(i, moduleParams, content, tmpdata) {
            if ((i == 0 && moduleParams["isFstImage"]) || moduleParams["isImage"] == true) {
                content.append("<a target=" + linkTarget + " href='contentPage.jsp?id=" + tmpdata[i].f_id + "'><img style='display:block' src='" + tmpdata[i]["f_preview"] + "' /></a>");
//			content.append("<a target="+linkTarget+" href='" + moduleParams.content_link + "?id=" + tmpdata[i].f_id + "'><img style='display:block' src='" + tmpdata[i][moduleParams["imageColumn"]] + "' /></a>");
            }
            var ctitle = $("<span class='content-title'/>").appendTo(content);
            if (moduleParams["isNode"]) {
                var nodedd = $("<span class='content-node'></span>").appendTo(ctitle);
                $.get(proxyName + "/Dao_T_Node/getById.fn", "id=" + tmpdata[i].f_nodeId, function(data) {
                    data = JSON.parse(data);
                    nodedd.append("<a href='nodePage.jsp?id=" + data.f_id + "'>" + data.f_name + "</a>");
//				nodedd.append("<a href='" + moduleParams.node_link + "?id=" + data.f_id + "'>" + data.f_name + "</a>");
                });
            }
            ctitle.append("<a target=" + linkTarget + " href='contentPage.jsp?id=" + tmpdata[i].f_id + "'>" + (tmpdata[i].f_title || '').subchar(moduleParams.titleWords) + "</a></span>");
//		ctitle.append("<a target="+linkTarget+" href='" + moduleParams.content_link + "?id=" + tmpdata[i].f_id + "'>" + (tmpdata[i].f_title||'').subchar(moduleParams.titleWords) + "</a></span>");

            if (moduleParams.isVote) {
                appendVote(tmpdata[i], content);
            }
            if ((i == 0 && moduleParams["isFstIntro"]) || moduleParams["isIntro"] == true)
                content.append("<span class='content-intro'><a target=" + linkTarget + " href='contentPage.jsp?id=" + tmpdata[i].f_id + "'>" + (tmpdata[i].f_intro || '').subchar(moduleParams.introWords) + "</a></span>");
//			content.append("<span class='content-intro'><a target="+linkTarget+" href='" + moduleParams.content_link + "?id=" + tmpdata[i].f_id + "'>" + (tmpdata[i].f_intro||'').subchar(moduleParams.introWords) + "</a></span>");
            if (moduleParams["isTime"] == true) {
                content.append("<span class='content-time'>" + getFormatDate(new Date(Date.parse(tmpdata[i].f_createTime.replace(/-/g, "/"))), moduleParams.timeFomat) + "</span>");
            }
            appendOtherFields(i, tmpdata, content);
        }

        function generalType2(i, moduleParams, content, tmpdata) {
            // content.append("<span style='display:block' class='content-title'><a
            // href='" +
            content.append("<span class='content-title'><a target=" + linkTarget + " href='contentPage.jsp?id=" + tmpdata[i].f_id + "'>" + (tmpdata[i].f_title || '').subchar(moduleParams.titleWords) + "</a></span>");
//		content.append("<span class='content-title'><a target="+linkTarget+" href='" + moduleParams.content_link + "?id=" + tmpdata[i].f_id + "'>" + (tmpdata[i].f_title||'').subchar(moduleParams.titleWords) + "</a></span>");
            if ((i == 0 && moduleParams["isFstImage"]) || moduleParams["isImage"] == true) {
//			content.append("<a target="+linkTarget+" href='" + moduleParams.content_link + "?id=" + tmpdata[i].f_id + "'><img style='display:block' src='" + tmpdata[i][moduleParams["imageColumn"]] + "' /></a>");
                content.append("<a target=" + linkTarget + " href='contentPage.jsp?id=" + tmpdata[i].f_id + "'><img style='display:block' src='" + tmpdata[i]["f_preview"] + "' /></a>");
            }
            if ((i == 0 && moduleParams["isFstIntro"]) || moduleParams["isIntro"] == true)
                content.append("<span class='content-intro'><a target=" + linkTarget + " href='contentPage.jsp?id=" + tmpdata[i].f_id + "'>" + (tmpdata[i].f_intro || '').subchar(moduleParams.introWords) + "</a></span>");
//			content.append("<span class='content-intro'><a target="+linkTarget+" href='" + moduleParams.content_link + "?id=" + tmpdata[i].f_id + "'>" + (tmpdata[i].f_intro||'').subchar(moduleParams.introWords) + "</a></span>");
            appendOtherFields(i, tmpdata, content);
            if (moduleParams["isTime"] == true) {
                try {
                    content.append("<span class='content-time'>" + getFormatDate(new Date(Date.parse(tmpdata[i].f_createTime.replace(/-/g, "/"))), moduleParams.timeFomat) + "</span>");
                } catch(eee) {
                    content.append("<span class='content-time'>" + tmpdata[i].f_createTime + "</span>");
                }
            }
        }

        function dddddd(tmpdata, contentlist) {
            contentlist.html('') ;
            var marquee = $("<div class='marquee'></div> ");
            var listur = $("<ul class='content-list'></ul>");
            if (moduleParams["isMarquee"]) {
                marquee.appendTo(contentlist);
                listur.appendTo(marquee);
            } else
                listur.appendTo(contentlist);
            //listur.after("<div class='clearfloat'></div>")
            // var content = "<div class='marquee'><ul class='content-list'>";
            for (var i = 0; i < tmpdata.length; i++) {
                var f_line = i == 0 ? " fst" : "";
                var li = $("<li class='content-li-" + i + " content-block" + f_line + "'></li>").appendTo(listur);
                var lookid = moduleParams.lookAndFeel;
                eval("generalType" + lookid + "(i, moduleParams, li, tmpdata)");

                if (moduleParams["isCreateUser"]) {
                    li.append("<span class='content-createuser'>" + tmpdata[i].f_createUser + "</span>");
                }
            }
            // marquee.after("<div class='pagination'></div>");
        }

        function query(conditions, contentlist) {
            $.get(proxyName + "/Dao_T_Content/getRowsByCase.fn", $.param(conditions), function(data) {
                var tmpdata = JSON.parse(data);

                dddddd(tmpdata, contentlist);
                if (moduleParams["isHighLight"] == true) {
                    $(contentlist).find("li").css("height", "auto");
                    $(contentlist).find("img").css("display", "none");
                    $(contentlist).find(".content-intro").css("display", "none");
                    $(contentlist).find("li").first().find("img").css("display", "block");
                    $(contentlist).find("li").first().find(".content-intro").css("display", "block");
                    $(contentlist).find("li").first().css("height", "100px")  ;
                    $.each($(contentlist).find("li"), function(i, n) {
                        $(n).mousemove(function() {
                            $(contentlist).find("li").css("height", "auto");
                            $(contentlist).find("img").css("display", "none");
                            $(contentlist).find(".content-intro").css("display", "none");
                            $(n).find("img").css("display", "block");
                            $(n).find(".content-intro").css("display", "block");
                            $(n).css("height", "100px") ;
                        });
                    });

                }
                if (moduleParams["isMarquee"] == true) {
                    $(moduleDiv).parents(".g9").css("table-layout", "fixed");
                    $(moduleDiv).parents(".div_9g").css("table-layout", "fixed");
                    $(moduleDiv).find(".marquee").kxbdMarquee({
                        isEqual : true,
                        loop : 0,
                        direction : moduleParams["direction"],
                        scrollAmount : 1,
                        scrollDelay : 20
                    });
                    if (moduleParams["direction"] == 'left' || moduleParams["direction"] == 'right') {
                        contentlist.find(".content-list").css("width", "10000px") ;

                    }
                }
            });
        }

        if (reloadHtml) {// 是否重新加载内容
            getConditions(moduleParams, function(condition) {
                // 加载内容
                var id = moduleParams.nodeId == "" ? getParameterByUrl("id") : moduleParams.nodeId;

                // var condition=getConditions(moduleParams);
                // var condition=["f_nodeIdPath like ?","%_1_%"];
                condition[0] += " and f_state=9"  ;
                var conditions = {
//			whereQuery : condition,
                    whereQuery : JSON.stringify(condition),
                    pageSize : moduleParams.pageSize || 5,
                    pageIndex : moduleParams.pageIndex || 0,
                    orderSql : moduleParams.orderSql || getParameterByUrl("orderSql")
                }

                // var contentlist = $("<div></div>").appendTo(moduleDiv);
                var contentlist = $("<div></div>").appendTo(moduleDiv);
                $("<div class='clearfloat'></div>").appendTo(moduleDiv);
                var pagediv = $("<div class='pagination'></div>").appendTo(moduleDiv);
                $("<div class='clearfloat'></div>").appendTo(moduleDiv);
                if (!moduleParams["isPagination"]) {
                    query(conditions, contentlist);
                } else {
                    var length = 0;
                    var oq = decodeURI(getParameterByUrl("wd"));
                    if (oq){
                        if (condition.length > 0) {
                            condition[0] += " and f_title like ?";
                            condition.push("%" + oq + "%");
                        } else {
                            condition[0] = "f_title like ?";
                            condition.push("%" + oq + "%");
                        } }
                    conditions.whereQuery = JSON.stringify(condition);
                    $.get(proxyName + "/Dao_T_Content/getCountByCase.fn", "whereQuery=" + encodeURI(conditions.whereQuery), function(data) {
                        length = data;
                        $(moduleDiv).find(".pagination").pagination(length, {
                            items_per_page : moduleParams.pageSize,
                            callback : function(page_index, jq) {
                                conditions.pageIndex = page_index;
                                query(conditions, contentlist);
                            }
                        });
                    });
                }
            });
        }
    });
}

/**
 * 相关内容
 * @param moduleDiv
 * @param moduleParams
 * @param reloadHtml
 */
function contentAboutAction(moduleDiv, moduleParams, reloadHtml) {
    if (reloadHtml) {// 是否重新加载内容
        // 加载内容
        var f_contentId = moduleParams.contentId || getParameterByUrl("id");
        var length = 0;
        $.post(proxyName + "/Dao_T_Content/getById.fn", "id=" + f_contentId, function(data) {
            var contentData = JSON.parse(data);
            var a = "";
            var keys = contentData.f_keywords.split(',');
            var whereQuery = ["f_id <> ?", "" + f_contentId + ""];
            $.each(keys, function(i, key) {
                if (i == 0) {
                    whereQuery[0] = whereQuery[0] + " and (";
                } else {
                    whereQuery[0] = whereQuery[0] + " or ";
                }
                whereQuery[0] = whereQuery[0] + "f_keywords like ?";
                if (i == keys.length - 1) {
                    whereQuery[0] = whereQuery[0] + ")";
                }
                whereQuery.push('%' + $.trim(key) + '%');

            });
            $.post(proxyName + "/Dao_T_Content/getRowsByCase.fn", "whereQuery=" + encodeURI(JSON.stringify(whereQuery)) + "&pageSize=5&orderSql=f_order asc,f_createTime desc", function(data) {
                var content = "<div class='keyTitle'>关于 " + ($.trim(contentData.f_keywords) == '' ? contentData.f_title : contentData.f_keywords) + " 的新闻</div><ul class='keyContent'>";
//								var content = "<div class='keyTitle'>&nbsp;</div><ul " +
//                                        "class='keyContent'>";
                if (data != "") {
                    var tmpdata = JSON.parse(data);
                    $.each(tmpdata, function(i, n) {
                        content = content + "<li><a href='contentPage.jsp?id=" + n.f_id + "'>" + n.f_title + "</a>" + n.f_createTime + "</li>";
                    });
                    content = content + "</ul>";
                }
                $(moduleDiv).html(content);
            });
        });
    }
}


/**
 * 内容正文显示
 * @param moduleDiv
 * @param moduleParams
 * @param reloadHtml
 */
function contentContext(moduleDiv, moduleParams, reloadHtml) {
    $.extend(window, {
        getScrollFile:function(file, callback) {
            $.get(modulesPath + "contentContext/" + file, '', callback) ;
        },
        scrollnext:function() {
            var items = $(".items img");// 图片列表
            var scrollable = $(".scrollable").data("scrollable");// 滚动控件
            for (var i = 0; i < items.size(); i++) {
                if ($(items.get(i)).hasClass("active")) {
                    $(items.get(i)).removeClass("active");
                    if ((i + 1) % 5 == 0) {
                        if ((scrollable.getIndex() + 1) == scrollable.getSize()) {
                            scrollable.seekTo(0);
                        } else {
                            scrollable.next();
                        }
                    }
                    if ((i + 1) == items.size()) {
                        scrollable.seekTo(0);
                    }
                    var wrap = $("#image_wrap").fadeTo("medium", 0.5);
                    var img = new Image();
                    if (i + 1 == items.size()) {
                        img.onload = function() {
                            wrap.fadeTo("fast", 1);
                            wrap.find("img").attr("src", $(items.get(0)).attr("src"));
                        };
                        $(items.get(0)).addClass("active");
                        img.src = $(items.get(0)).attr("src");
                        $("#tooltip").html($(items.get(0)).attr("alt"));
                    } else {
                        img.onload = function() {
                            wrap.fadeTo("fast", 1);
                            wrap.find("img").attr("src", $(items.get(i + 1)).attr("src"));
                        };
                        $(items.get(i + 1)).addClass("active");
                        img.src = $(items.get(i + 1)).attr("src");
                        $("#tooltip").html($(items.get(i + 1)).attr("alt"));
                    }

                    return;
                }
            }
        },
        scrollpre:function() {
            var items = $(".items img");// 图片列表
            var scrollable = $(".scrollable").data("scrollable");// 滚动控件
            for (var i = 0; i < items.size(); i++) {
                if ($(items.get(i)).hasClass("active")) {
                    $(items.get(i)).removeClass("active");
                    if (i % 5 == 0) {
                        if (scrollable.getIndex() == 0) {
                            scrollable.seekTo(scrollable.getSize() - 1);
                        } else {

                            scrollable.prev();
                        }
                    }
                    var wrap = $("#image_wrap").fadeTo("medium", 0.5);
                    var img = new Image();
                    if (i - 1 == items.size()) {
                        img.onload = function() {
                            wrap.fadeTo("fast", 1);
                            wrap.find("img").attr("src", $(items.get(items.size() - 1)).attr("src"));
                        };
                        $(items.get(items.size() - 1)).addClass("active");
                        img.src = $(items.get(items.size() - 1)).attr("src");
                        $("#tooltip").html($(items.get(items.size() - 1)).attr("alt"));
                    } else {
                        img.onload = function() {
                            wrap.fadeTo("fast", 1);
                            wrap.find("img").attr("src", $(items.get(i - 1)).attr("src"));
                        };
                        $(items.get(i - 1)).addClass("active");
                        img.src = $(items.get(i - 1)).attr("src");
                        $("#tooltip").html($(items.get(i - 1)).attr("alt"));
                    }
                    return;
                }
            }
        },
        doScrollLayout:function() {
            $(".scrollable").scrollable();
            $(".items img").click(
                    function() {
                        if ($(this).hasClass("active")) {
                            return;
                        }
                        var url = $(this).attr("src");
                        var alt = $(this).attr("alt");
                        var wrap = $("#image_wrap").fadeTo("medium", 0.5);
                        var img = new Image();
                        img.onload = function() {
                            wrap.fadeTo("fast", 1);
                            wrap.find("img").attr("src", url);
                        };
                        img.src = url;
                        $(".items img").removeClass("active");
                        $(this).addClass("active");
                        $("#tooltip").html(alt);
                    }).filter(":first").click();
        }
    });

    if (reloadHtml) {// 是否重新加载内容
        moduleDiv = $(moduleDiv)  ;
        var params = moduleParams;
        var modelName = moduleDiv['name'];
        var contentPanel = moduleDiv;
        var view = '<div class="contextHeader">' +
                '<div class="hd">' +
                '<h1></h1>' +
                '<hr1/>' +
                '<div class="titBar">' +
                '<div class="info">' +
                '    <span class="pubTime"></span><span class="infoCol"><span class="where">' + '</span></span>' +
                '<span class="contextFooter">内容来源:</span>' +
                '           </div>' +
                '       </div>' +
                '   </div>' +
                '</div>' +
                '<div class="context">' +
                '</div>' +
                '<hr1/>'  ;
        moduleDiv.append(view);
        // 读取模板传过来的节点信息合并到
        var contentid = params.contentId || getParameterByUrl("id");
        if (!contentid)contentid = 1;
        var contentObj;
        $.ajax({
            type : "GET",
            dataType : 'json',
            data : "id=" + contentid,
            url : proxyName + '/Dao_T_Content/getById.fn',
            success : function(returnData) {
                contentObj = returnData  ;
                var contentContext = $("<div class='container1'/>").append(contentObj.f_text);
                // var contentContext = $("<div class='container'/>").append('sdfsdf<img
                // src="sdf" alt="">sdfsdf<img src="sdf" alt=""><img src="sdf" alt=""><img
                // src="sdf" alt=""><img src="sdf" alt=""><img src="sdf" alt=""><img
                // src="sdf" alt=""><img src="sdf" alt=""><img src="sdf" alt=""><img
                // src="sdf" alt=""><img src="sdf" alt="">');
                if (params.isScroll) {
                    getScrollFile('scrollbody.html',
                            function(scrollbody) {

                                var imgs = contentContext.find("img,IMG,image,IMAGE");
                                if (imgs.length > 0) {

                                    // moduleDiv.append("<style>\n"+scrollcss+"</style>\n");
                                    moduleDiv.prepend('<LINK rel=stylesheet type=text/css href="' + modulesPath + 'contentContext/scroll.css">');
                                    contentPanel.find(".context").append("<div style='width:762px;margin:0 auto; text-align:center'>" + scrollbody + "<div style='clear:both;display:block'></div></div>");

                                    var scrollContainer = moduleDiv.find('.scrollable .items');

                                    var div = $("<div/>").appendTo(scrollContainer);
                                    imgs.each(function(i, im) {
                                        // $(im).remove();
                                        if (i != 0 && i % 5 == 0)
                                            div = $("<div/>").appendTo(scrollContainer);
                                        div.append(im);
                                    });
                                    doScrollLayout();
                                }
                            });
                }
                if (params.isPlay) {
                    var playbody = '<embed src="' + modulesPath + 'contentContext/Flvplayer.swf" allowfullscreen="true" flashvars="vcastr_file=' + contentObj.f_url + '&vcastr_title=' + contentObj.f_title + '&LogoText=www.shxbe.com&IsAutoPlay=1" quality="high" pluginspage="http://www.macromedia.com/go/getflashplayer" type="application/x-shockwave-flash" width="100%" height="400"></embed>'  ;
                    moduleDiv.find(".context").append(playbody);
                }
//        var h1=contentPanel.find(".contextHeader>.hd>h1").html($.trim(contentObj.f_fullTitle)==''?contentObj.f_title:contentObj.f_fullTitle);
                contentObj.f_fullTitle = contentObj.f_fullTitle || " "   ;
                var h1 = contentPanel.find(".contextHeader>.hd>h1").html(contentObj.f_title + "<br>" + contentObj.f_fullTitle);
                if ($.trim(contentObj.f_subTitle) != '')
                    h1.after("<h2>" + contentObj.f_fullTitle + "</h2>")  ;
                contentPanel.find(".pubTime").html(contentObj.f_createTime);
                var context = contentPanel.find(".context");
				/*2012-02-08 修改  内容页显示“文章介绍为null”
				if (contentObj.f_intro && ($.trim(contentObj.f_intro) != '' && $.trim(contentObj.f_intro) != 'null')) ;
					$("<div class='intro'/>").append("文章介绍: " + contentObj.f_intro).appendTo(context);
				*/
                if (contentObj.f_intro && ($.trim(contentObj.f_intro) != '' && $.trim(contentObj.f_intro) != 'null')){
                    $("<div class='intro'/>").append("文章介绍: " + contentObj.f_intro).appendTo(context);}
//        context.append("正文: ");
                context.append(contentContext);
                var downloadDiv = $("<div class='download-div'/>").appendTo(context);
                var valueType = "text";
                if (!contentObj.f_url)contentObj.f_url = '';
                if (contentObj.f_url.match(/jpg|jpeg|gif|png|bmp/))
                    valueType = 'img';
                else if (contentObj.f_url.match(/swf]/))
                    valueType = 'flash';
                else if (contentObj.f_url.match(/mp4|flv]/))
                    valueType = 'movie';
                else
                    valueType = 'link';

                if ($.trim(contentObj.f_url) != '') {
                    var urls = contentObj.f_url.split('/');
                    var ata = $("<a/>").html(urls[urls.length - 1]);

                    function execc1() {
                        ata.attr("href", encodeURI(contentObj.f_url));
                        if (valueType != 'link') {
                            var attMod = $('<div class="module" style="width:100%;margin:0 auto" module=\'{"name":"valueOf","params":{"hasTitle":"false","isShow9g":false,"id":' + contentObj.f_id + ',"fieldName":"f_url","displayType":"' + valueType + '","isPlay":false}}\'></div>').appendTo(downloadDiv);
                            loadModule(attMod, true) ;
                        }
                    }

                    if (contentObj.f_isDownload == 1) {
                        execc1();
                    }
                    else {
                        $.get("sso_getLoginInfo.jsp", "name=loginUser", function(userName) {
                            name = userName;
                            if (userName == null || userName == "null" || userName == undefined) {
                                ata.click(function() {
                                    alert("请登录后再下载附件.")  ;
                                })
                            }
                        })

                    }
                    downloadDiv.append("附件: ").append(ata);
                }

                var of = $("<div class='otherfield'></div>").appendTo(downloadDiv);
                // var toupiaos="好评数:f_goodCount,中评数:f_normalCount,差评数:f_wrongCount";
//
//        var fields=toupiaos.split(',');
//        if(fields.length>0){
//            $.each(fields,function(i,n){
//                var fv=n.split(":");
//                of.append("<span class='goodorwrong'>"+fv[0]+":"+contentObj[fv[1]]+"</span>")
//            });
//        }

                fields = moduleParams.fieldNames.split(',');
                if ($.trim(moduleParams.fieldNames).length > 0) {
                    $.each(fields, function(i, n) {
                        var fv = n.split(":");
                        of.append("<div class='" + fv[1] + "'>" + fv[0] + ":" + contentObj[fv[1]] + "</div>")  ;
                    });
                }

                contentPanel.find(".contextFooter").append(contentObj.f_source);
                if (params.isShowComment) {
                    // if (contentObj.f_isCommend) {
                    contentPanel.append("<a id='#comment'/>")   ;
                    var comm = $("<div class='module' id='con-com-list'/>").attr("module", '{"name":"comment_list","params":{"title":"评论","contentId":' + contentid + ',"hasMore":true,"moreUrl":"commentPage.jsp?id=' + contentid + '"}}').appendTo(contentPanel);
                    setTimeout(function() {
                        loadModule(comm, true);
                    }, 1);
                    if (params.isCanSay) {
                        var comm1 = $("<div class='module' id='con-com-add'/>").attr("module", '{"name":"comment_add","params":{"title":"新增评论","hasMore":false,"contentId":' + contentid + '}}').appendTo(contentPanel);
                        setTimeout(function() {
                            loadModule(comm1, true);
                        }, 1);
                    }
                    // }
                }
            }
        });

    }
}


/**
 * 内容多标签页
 * @param moduleDiv
 * @param moduleParams
 * @param reloadHtml
 */
function contentTabs(moduleDiv, moduleParams, reloadHtml) {
    function removeOldParam(oq, field) {
        oq = oq.replace(new RegExp(field + "(='[^ ]*')", "g"), "1=1")
                .replace(new RegExp(field + " (like '%[^ ]*%')", "g"), "1=1");
        return oq;
    }

    function addtoArr(titles1, i, nodeIdsi) {
        $.get(proxyName + '/Dao_T_Node/getFieldValue.fn?id=' + nodeIds[i] + '&fieldName=f_name', '', function(fname) {
            titles1[i] = fname;
        });

    }

    if (reloadHtml) {//是否重新加载内容
        moduleDiv = $(moduleDiv);
        var modelName = moduleDiv['name'];
        var contentPanel = moduleDiv;
        var tabHtml = '<div class="tabs">' +
                '<ul class="css-tabs">' +
                '</ul>' +
                '<div class="css-panes">' +
                '</div>' +
                '</div>';
        moduleDiv.html(tabHtml);
        var tabs = moduleDiv.find("ul.css-tabs");
        var panes = moduleDiv.find("div.css-panes");
        var nodeIds = [],titles1 = [];
        $.getJSON(proxyName + '/Dao_T_Node/getRowsByCase.fn?whereQuery=["f_parentId=' + getParameterByUrl("id") + '"]', '', function(nodes) {
            if ($.trim(moduleParams.nodeIds) == '') {
                for (var i = 0; i < nodes.length; i++) {
                    nodeIds.push(nodes[i]['f_id']);
                    titles1.push(nodes[i]['f_name']);
                }
            }
            else {
                nodeIds = moduleParams.nodeIds.split(',');
                for (var i = 0; i < nodeIds.length; i++) {
                    titles1.push("" + i);
                    //addtoArr(titles1, i, nodeIds[i]);
                }
            }

            var titles = $.trim(moduleParams.titles) != '' ? moduleParams.titles.split(',') : [];
            if (titles.length == 0) {
                titles = titles1;
            }
            var otherQuery = moduleParams.otherQuery;
            var orderSqls = moduleParams.orderSqls ? moduleParams.orderSqls.split(',') : [];
            var otherQuerys = moduleParams.otherQuerys ? moduleParams.otherQuerys.split(';') : [];
            var classNames = moduleParams.classNames ? moduleParams.classNames.split(',') : [];
            for (var i = 0; i < titles.length; i++) {
                if ($.trim(moduleParams.titles) != '')//nodeIds[i] = moduleParams.nodeId || -1;
                    nodeIds[i] = -1;
                if (titles.length > 0) {
                    tabs.append('<li><a href="#" class="tabsTitle'+i+'">' +
                            titles[i] +
                            '</a></li>');
                }
                else {
                    $.get(proxyName + "/Dao_T_Node/getRowsById.fn?fieldNames=f_name&id=" + nodeIds[i], '', function(ttl) {
                        ttl && (ttl = (JSON.parse(ttl))[0]);
                        tabs.append('<li><a href="#" class="tabsTitle'+i+'">' + ttl + '</a></li>');
                    });
                }


                if (!classNames[i])classNames[i] = 'common-tabpane' + i;

                if (!otherQuerys[i])otherQuerys[i] = ""  ;
                if ($.trim(otherQuerys[i]) == '')otherQuerys[i] = "1=1"  ;
                if ($.trim(otherQuery) != '')otherQuerys[i] += " and " + otherQuery;
//            otherQuerys[i]=removeOldParam(otherQuerys[i],"f_type")  ;
//            alert(otherQuerys[i])  ;
                if (!orderSqls[i])orderSqls[i] = ""   ;
                /*
                 原代码，因为shxbe首页显示的原因，暂时修改，即在每个内容列表中都显示 “更多”
                 var ddd = $('<div class="module" module=\'{"name":"content_list","params":{"newClass1":"' + moduleParams.newClass1 + '","otherQuery":"' + otherQuerys[i] + '","orderSql":"' + orderSqls[i] + '","isShow9g":false,"isImage":' + moduleParams.isImage + ',"isFstIntro":' + moduleParams.isFstIntro + ',"isIntro":' + moduleParams.isIntro + ',"isVote":' + moduleParams.isVote + ',"voteStartAt":"' + moduleParams.voteStartAt + '","voteEndAt":"' + moduleParams.voteEndAt + '","startText":"' + moduleParams.startText + '","endText":"' + moduleParams.endText + '","period":' + moduleParams.period + ',"alltimes":' + moduleParams.alltimes + ',"times":' + moduleParams.times + ',"isPagination":' + moduleParams.isPagination + ',"pageSize":' + moduleParams.pageSize + ',"nodeId":' + nodeIds[i] + ',"hasMore":false,"introWords":' + moduleParams.introWords + ',"fieldNames":"' + moduleParams.fieldNames + '","titleWords":' + moduleParams.titleWords + '}}\'></div>').appendTo(panes);
                 */
                var ddd = $('<div class="module" module=\'{"name":"content_list","params":{"newClass1":"' + moduleParams.newClass1 + '","orderSql":"' + orderSqls[i] + '","isShow9g":false,"isImage":' + moduleParams.isImage + ',"isFstIntro":' + moduleParams.isFstIntro + ',"isIntro":' + moduleParams.isIntro + ',"isVote":' + moduleParams.isVote + ',"voteStartAt":"' + moduleParams.voteStartAt + '","voteEndAt":"' + moduleParams.voteEndAt + '","startText":"' + moduleParams.startText + '","endText":"' + moduleParams.endText + '","period":' + moduleParams.period + ',"alltimes":' + moduleParams.alltimes + ',"times":' + moduleParams.times + ',"isPagination":' + moduleParams.isPagination + ',"pageSize":' + moduleParams.pageSize + ',"nodeId":' + nodeIds[i] + ',"introWords":' + moduleParams.introWords + ',"fieldNames":"' + moduleParams.fieldNames + '","titleWords":' + moduleParams.titleWords + '}}\'></div>').appendTo(panes);
                loadModule(ddd, true);
            }
            function execc(i){
                $.get(proxyName + '/Dao_T_Node/getFieldValue.fn?id=' + nodeIds[i] + '&fieldName=f_name', '', function(fname) {
                        var ttx=".tabsTitle"+i    ;
                        tabs.find(ttx).html(fname);
                    });
            }
            if ($.trim(moduleParams.nodeIds) != '') {
                for(var i=0;i<nodeIds.length;i++)
                    execc(i) ;
             }
            moduleDiv.find("ul.css-tabs").tabs("div.css-panes > div");
        });
    }
}

/**
 *
 * @param moduleDiv
 * @param moduleParams
 * @param reloadHtml
 */
function customLink(moduleDiv, moduleParams, reloadHtml) {
    moduleDiv = $(moduleDiv);
    if (reloadHtml) {
        var a = $("<a/>").appendTo(moduleDiv);
        a.attr("href", moduleParams.linkUrl);
        a.attr("target", moduleParams.linkTarget);
        a.append(moduleParams.linkText);
    }

}

/**
 *
 * @param moduleDiv
 * @param moduleParams
 * @param reloadHtml
 */
function customText(moduleDiv, moduleParams, reloadHtml) {
    moduleDiv = $(moduleDiv);
    if (reloadHtml) {
        moduleDiv.append(moduleParams.text)  ;
    }

}


/**
 *
 * @param moduleDiv
 * @param moduleParams
 * @param reloadHtml
 */
function dateTime(moduleDiv, moduleParams, reloadHtml) {
    moduleDiv = $(moduleDiv);
    if (reloadHtml) {
        moduleDiv.append(getFormatDate(new Date(), moduleParams.fomatter));
    }

}

/**
 * 下载正文模块
 * @param moduleDiv
 * @param moduleParams
 * @param reloadHtml
 */
function download(moduleDiv, moduleParams, reloadHtml) {
    var fields = moduleParams.fields;
    fields = fields.split(',');
    moduleDiv = $(moduleDiv);
    moduleDiv.css("padding", "10px")  ;
    var id = moduleParams.id || getParameterByUrl("id");
    if (!id)id = 1;

    function appendDownTable(html) {
        var table = $(html).appendTo(moduleDiv);

        function insertData(data) {
            table.find(".file_time").append(data.f_lastUpdateTime);
            $.each(fields, function(i, n) {
                n = n.split(":");
                table.find(".config").append($("<div style='float: left;width:50%'/>").append(n[0] + " : " + data[n[1]]));
            });
            table.find(".file_pingjia").append("赞成：" + data.f_goodCount + " 中立：" + data.f_normalCount + " 反对：" + data.f_wrongCount);
            table.find(".file_pic").append("<img style='width:200px;margin:10px auto' src='" + data.f_preview + "'/> ");
            var down = $("<img style='cursor:pointer' src='" + modulesPath + "/download/down.gif'/>");
            var down = $("<button type='button' class='download-btn'/>");
            table.find(".file_down").append(down);
            down.click(function() {
                $.post("/cms/sso_getLoginInfo.jsp", "name=loginUser", function(data) {
                    if (data == null || data == "null" || data == undefined) {
                        alert("请登录后再下载！");
                        return;
                    }
                    $.getJSON('http://sso.shxbe.com/sso/setPoint.jsp?type=download&userName=' + data + '&callback=?');
                    window.open(data.f_url, "_blank");
                });

            });

            moduleDiv.append("<hr>");
            moduleDiv.append("<div>基本信息</div>");
            moduleDiv.append("<p>" + data.f_fullTitle + "</p>");
            moduleDiv.append("<pre>" + data.f_title + " " + data.f_subTitle + "</pre>");
            moduleDiv.append("<hr>");
            moduleDiv.append("<div>简介</div>");
            moduleDiv.append("<pre>" + data.f_intro + "</pre>");
            moduleDiv.append("<hr>");
            moduleDiv.append("<p>" + data.f_text + "</p>");
            var comm = $("<div class='module' id='con-com-list'/>").attr("module", '{"name":"comment_list","params":{"title":"评论","contentId":' + id + ',"hasMore":true,"moreUrl":"commentPage.jsp?id=' + id + '"}}').appendTo(moduleDiv);
            loadModule(comm, true);
            var comm1 = $("<div class='module' id='con-com-add'/>").attr("module", '{"name":"comment_add","params":{"title":"新增评论","hasMore":false,"contentId":' + id + '}}').appendTo(moduleDiv);
            loadModule(comm1, true);
        }

        $.get(proxyName + "/Dao_T_Content/getById.fn", "id=" + id, insertData, "json");
    }

    if (reloadHtml) {
        $.get(modulesPath + '/download/view.html', '', appendDownTable);
    }

}

/**
 *
 * @param moduleDiv
 * @param moduleParams
 * @param reloadHtml
 * @param module
 */
function floatLayer(moduleDiv, moduleParams, reloadHtml, module) {
    function rand() {
        var n = Math.random() + "";
        n = n.replace(".", "");
        return n;
    }

    moduleDiv = $(moduleDiv);
    var modID = moduleDiv.attr("id") || "mod_" + rand();
    module.attr("id", modID) ;
    $(module).hide();
    if (reloadHtml) {
    }
    setTimeout(function() {

        $.getScript(modulesPath + "floatLayer/jquery.scroll-follow.js", function() {
            var pos = moduleParams.position == 'left' ? " left: -80px;left:0px!important;" : "right:80px;right:0px!important";
//            var pos = moduleParams.position == 'left' ? " left: 0px;" : "right:80px;_right:0px;*right:80px";
            if (moduleParams.top != null && moduleParams.top != "null" && moduleParams.top != "") {
                pos = "top:" + moduleParams.top + "px;left:" + moduleParams.left;
            }
            var layer = $('<div class="module" target="' + modID + '" style="' + pos + '"><a href="' + moduleParams.link + '" target="_blank"><img border="0" height="400" width="80" src="' + moduleParams.imageSrc + '" /></a><br><a style="width: 80px;cursor:pointer" onclick="this.parentNode.style.display=\'none\'">close</a><div class="clearfloat"></div></div>').prependTo($(document.body));

//            $(module).insertAfter($(document.body))
            layer.css("position", "absolute");
            layer.css("z-index", "10000");
            layer.scrollFollow({
                offset:100
            });
        });
    }, 100);

}

/**
 *
 * @param moduleDiv
 * @param moduleParams
 * @param reloadHtml
 */
function imageFlow(moduleDiv, moduleParams, reloadHtml) {
    if (reloadHtml) {//是否重新加载内容
        getConditions(moduleParams, function(conditions) {
            moduleDiv = $(moduleDiv);

            $.get(modulesPath + 'imageFlow/imageflow.packed.css', null, function(data) {
                moduleDiv.prepend("<style>\n" + data + "\n</style>");
            });
            $.getScript(modulesPath + 'imageFlow/imageflow.js', function() {

                var flowdiv = $('<div id="myImageFlow" class="imageflow"/>').appendTo(moduleDiv);


//        var conditions=getConditions(moduleParams);

                if (conditions) {
                    conditions[0] += " and f_state=9"   ;
                    conditions = JSON.stringify(conditions);
                }
                $.get(proxyName + "/Dao_T_Content/getRowsByCase.fn", encodeURI("whereQuery=" + conditions + "&pageSize=" + moduleParams.pageSize), function(data) {
                    $.each(data, function(i, n) {
                        flowdiv.append('<img link="contentPage.jsp?id=' + n.f_id + '" src="' + n.f_preview + '" longdesc="' + n.f_preview + '" width="400" height="300" alt="' + n.f_title + '"/>');
                    });
                    var instanceOne = new ImageFlow();
                    instanceOne.init({ ImageFlowID:'myImageFlow' });
                }, "json");
            });

        })
    }
}


/**
 *
 * @param moduleDiv
 * @param moduleParams
 * @param reloadHtml
 */
function imageShow(moduleDiv, moduleParams, reloadHtml) {
    var id = getParameterByUrl("id");
    if (moduleParams.nodeId != -1)
        id = moduleParams.nodeId;
    var tableName = moduleParams.tableName;
//	var condition = getConditions(moduleParams);
    if (reloadHtml) {
        $.post(proxyName + "/Dao_T_Node/getById.fn", "id=" + id, function(data) {
            var tmpdata = JSON.parse(data);
            var content = '<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=10,0,0,0" width="970" height="320" align="middle" id="foucs">';
            content = content + '<param name="allowScriptAccess" value="always">';
            content = content + '<param name="allowFullScreen" value="false">';
            content = content + '<param name="wmode" value="transparent"> ';
            content = content + '<param name="movie" value="' + modulesPath + 'imageShow/index.swf?xmlurl=getXml.jsp?f_nodeIdPath=' + tmpdata.f_idPath + '"><param name="quality" value="high"><param name="bgcolor" value="#ffffff">';
            content = content + '<embed src="' + modulesPath + 'imageShow/index.swf?xmlurl=getXml.jsp?f_nodeIdPath=' + tmpdata.f_idPath + '" quality="high" bgcolor="#111111" width="970" height="320" align="middle" name="foucs" allowscriptaccess="always" wmode="transparent" allowfullscreen="false" type="application/x-shockwave-flash" pluginspage="http://www.adobe.com/go/getflashplayer_cn">';
            content = content + '</object>';

            moduleDiv.append(content);
        });
    }
}

/**
 * 页面包含模块
 * @param moduleDiv
 * @param moduleParams
 * @param reloadHtml
 */
function include(moduleDiv, moduleParams, reloadHtml) {
    if (reloadHtml) {//是否重新加载内容
        moduleDiv = $(moduleDiv);
        var params = moduleParams;
        var modelName = moduleDiv['name'];
        var contentPanel = moduleDiv;
        $.get(params.path, null, function(data) {
            contentPanel.html(data);
            var mods = contentPanel.find("div[module]");
            mods.each(function() {
                $(this).load();
            });
        });
    }
}

/**
 *
 * @param moduleDiv
 * @param moduleParams
 * @param reloadHtml
 */
function mediaPlayer(moduleDiv, moduleParams, reloadHtml) {
    if (reloadHtml) {// 是否重新加载内容
        // 加载内容
        getConditions(moduleParams, function(condition) {
            var conditions = {
                whereQuery : JSON.stringify(condition),
                pageSize : moduleParams.pageSize || 5,
                pageIndex : moduleParams.pageIndex || 0,
                orderSql : moduleParams.orderSql || ''
            }
            moduleDiv = $(moduleDiv);
            $.get(proxyName + "/Dao_T_Content/getRowsByCase.fn", $.param(conditions), function(data) {
                var tmpdata = JSON.parse(data);
                var urls = "";
                var titles = "";
                $.each(tmpdata, function(i, n) {
                    if (i != 0) {
                        urls = urls + "|";
                        titles = titles + "|";
                    }
                    urls = urls + encodeURI(n.f_url);
                    titles = titles + n.f_title;
                });
                var playbody = '<embed src="' + modulesPath + 'contentContext/Flvplayer.swf" allowfullscreen="true" flashvars="vcastr_file=' + urls + '&vcastr_title=' + titles + '&LogoText=www.shxbe.com&IsAutoPlay=0&IsContinue=1" quality="high" pluginspage="http://www.macromedia.com/go/getflashplayer" type="application/x-shockwave-flash" width="100%" height="400"></embed>'  ;
                moduleDiv.append(playbody);
            });
        });
    }
}

/**
 *
 * @param moduleDiv
 * @param moduleParams
 * @param reloadHtml
 */
function node_list_group(moduleDiv, moduleParams, reloadHtml) {
    if (reloadHtml) {// 是否重新加载内容
        // 加载内容
        var id = moduleParams.nodeId == "" ? getParameterByUrl("id") : moduleParams.nodeId;
        var length = 0;
        var content = '';
        var tmpdata;
        $.post(proxyName + "/Dao_T_Node/getRowsByCase.fn", "whereQuery=" + encodeURI('["f_parentId = ?",' + id + ']') + "&orderSql=f_order asc", function(data) {
            tmpdata = JSON.parse(data);
            $.each(tmpdata, function(i, n) {
                content = content + "<div class='nodeblock'>"  ;
                content = content + '<span class="nodetitle"><a href="nodePage.jsp?id=' + n.f_id + '">' + n.f_name + '</a></span>';
                content = content + '<span class="nodecontent"></span><div style="clear: both;">';
                content = content + '</div></div>';
            });
            $(moduleDiv).html(content);
            var cc = moduleParams.childCount - 1;
            $.each($(moduleDiv).find(".nodecontent"), function(i, n) {
                $.post(proxyName + "/Dao_T_Node/getRowsByCase.fn", "whereQuery=" + encodeURI('["f_parentId = ?",' + tmpdata[i].f_id + ']') + "&orderSql=f_order asc", function(data) {
                    var nodecontent = "";
                    var nodedata = JSON.parse(data);
                    var tmpflag = false;

                    $.each(nodedata, function(j, o) {
                        if (j > cc && tmpflag == false) {
                            nodecontent = nodecontent + "<label class='nodemore'>更多</label><div style='clear: both;'></div><span class='togglenode'>"  ;
                            tmpflag = true;
                        }
                        nodecontent = nodecontent + '<a href="nodePage.jsp?id=' + o.f_id + '">' + o.f_name + '</a>'
                        if ((nodedata.length - 1) == j && j > cc) {
                            nodecontent = nodecontent + "</span>"
                        }
                    }) ;
                    $(n).html(nodecontent);
                    $(n.parentNode).find(".nodemore").click(function() {
                        $(n).find(".togglenode").css("display") == "none" ? $(n).find(".togglenode").css("display", "block") : $(n).find(".togglenode").css("display", "none");
                    })
                });
            });
        });
    }
}

/**
 *
 * @param moduleDiv
 * @param moduleParams
 * @param reloadHtml
 */
function nodeNav(moduleDiv, moduleParams, reloadHtml) {
    var linkTarget = getParameterByUrl("_t") || moduleParams.linkTarget;
    if (reloadHtml) {//是否重新加载内容
        //加载内容
        moduleDiv = $(moduleDiv);
        moduleParams.nodeId == -1 && (moduleParams.nodeId = null);
        var parentId = moduleParams.nodeId || getParameterByUrl("id");
        var ul = $("<ul class='list-ul'/>");
        moduleParams.isHorizontal == 1 && (ul = $("<div class='nav-div'/>"));
        ul.appendTo(moduleDiv);

        function execc() {
            var ishowFst = "";
//        if(parentId=="1")ishowFst="f_id=1 or ";
            if (moduleParams['self'])ishowFst = "f_id=" + parentId + " or ";
            else ishowFst = "1=1 and ";
            var condition = ["(" + ishowFst + "(f_parentId=? and f_isShowOnList=1))",parentId];
            if (moduleParams.otherQuery && $.trim(moduleParams.otherQuery) != '') {
                moduleParams.otherQuery = moduleParams.otherQuery.replace(/`/g, "'");
                condition[0] += " and " + moduleParams.otherQuery;
            }
            var cond = {
                whereQuery:JSON.stringify(condition),
                orderSql:"f_order asc",
                pageSize:moduleParams.pageSize,
                pageIndex:moduleParams.pageIndex
            };
            $.get(proxyName + '/Dao_T_Node/getRowsByCase.fn', $.param(cond), function(data) {
                data = JSON.parse(data);
                var fields = moduleParams.fields;
                fields = fields.split(',');
                $.each(data, function(i, d) {
//                if(!moduleParams.nodeId&&d.f_id==1)return true;
                    var a = $("<a/>").attr("href", moduleParams.link + "?id=" + d.f_id);
                    if (linkTarget != '不设置')
                        a.attr("target", linkTarget)  ;
                    if (!isContentPage() && getParameterByUrl("id") == d.f_id)a.addClass("currNav");
                    for (var j = 0; j < fields.length; j++)
                        a.append(d[fields[j]]);
                    if (d.f_isOpenInNewPage)a.attr("target", "_blank")   ;
                    var li = $("<li/>");
                    moduleParams.isHorizontal == 1 && (li = $("<span/>"));
                    li.appendTo(ul)
                            .append(a);
                });
            });
        }

        function nodeObjj(id) {
            $.getJSON(proxyName + "/Dao_T_Node/getById.fn", "id=" + id, function(nodeObj) {
                $.get('/cmsData/myapp.cmsdata.dao/Dao_T_Node/insertRootEntity.fn?createUser=' + nodeObj['f_createUser'], '', function(pid) {
                    parentId = pid;
                    execc()
                })
            })
        }

        if (moduleParams.isTopNode) {
            var id = parentId;
            if (isContentPage() || isCommentPage()) {
                $.getJSON(proxyName + "/Dao_T_Content/getById.fn", "id=" + id, function(idd) {
                    id = idd['f_nodeId'];
                    nodeObjj(id)
                })
            } else {
                nodeObjj(id)
            }

        } else {
            execc()
        }

    }
}

/**
 *
 * @param moduleDiv
 * @param moduleParams
 * @param reloadHtml
 */
//1=1 and f_title like '%12%' and f_author like '%%' and f_type='' and 1=1 and f_subType='特等奖' and 1=1 and f_subType='特等奖'
function pageNavSearch(moduleDiv, moduleParams, reloadHtml) {
    moduleDiv = $(moduleDiv);
    var nodeId = getParameterByUrl("id");

    function getModelJson(path, callback) {
        $.get('/webFile/cmsFile/' + path, '', callback, 'json');
    }

    function prepairModel(callback) {
        $.get("/cmsData/myapp.cmsdata.dao/Dao_T_Node/getFieldValueByCycle.fn?fieldName=f_model&id=" + nodeId, '', function(modelPath) {
            getModelJson(modelPath, callback);
        });
    }

    function removeOldParam(oq, field) {
        oq = oq.replace(new RegExp(field + "(=`[^ ]*`)", "g"), "1=1")
                .replace(new RegExp(field + " (like `%[^ ]*%`)", "g"), "1=1");
        return oq;
    }

    function selectLinkStatus(a, row) {
        $(".type_link" + row).removeClass("highlight");
        a.addClass("highlight");
    }

    function insertCtrl(row, field, MOD, rowindex) {
        var props = MOD.properties;
        for (var i = 0; i < props.length; i++) {
            if (props[i].f_field == field) {
                var opts = props[i].f_options;
                if (opts.length > 0) {
                    opts = "全部," + opts;
                    opts = opts.split(",");
                    for (var j = 0; j < opts.length; j++) {
                        var a = $("<a class='type_link" + rowindex + "' href='#'/>").append(opts[j]);
                        a.click(function() {
                            selectLinkStatus($(this), rowindex);
                            var target = $("." + moduleParams.targetID);
                            if (target.length > 0) {
                                var conf = JSON.parse(target.attr("module"));
                                if (!conf.params.otherQuery)
                                    conf.params['otherQuery'] = "1=1";
                                conf.params['otherQuery'] = removeOldParam(conf.params['otherQuery'], field);
                                var txt = $(this).text();
                                if (txt != '全部')//txt='';
                                    conf.params['otherQuery'] += " and " + field + "=`" + txt + "`";
                                target.attr("module", JSON.stringify(conf));
                                target.empty();
                                loadModule(target, true);

                            }
                        });
                        $("<span class='nav-option' style='display:inline-block;padding-right:4px'/>").appendTo(row).append(a);
                    }
                }
                break;
            }
        }
    }

    //field,field;
    var a_fn = moduleParams.fieldNames.split(',');
    if (reloadHtml) {
        var form = $("<form/>").appendTo(moduleDiv);
        prepairModel(function(MOD) {
            for (var i = 0; i < a_fn.length; i++) {
                var row = $("<div/>").appendTo(form);
                insertCtrl(row, a_fn[i], MOD, i);
            }
//            var btn = $("<input type='button' class='ui-btn-submit' value='查找'>").appendTo($("<div align='right'/>").appendTo(form));
            moduleDiv.append("<div class='clearfloat'></div>");

        })
    }

}


/**
 *
 * @param moduleDiv
 * @param moduleParams
 * @param reloadHtml
 */
function pageSearch(moduleDiv, moduleParams, reloadHtml) {
    moduleDiv = $(moduleDiv);
    var nodeId = getParameterByUrl("id");

    function getModelJson(path, callback) {
        $.get('/webFile/cmsFile/' + path, '', callback, 'json');
    }

    function prepairModel(callback) {
        $.get("/cmsData/myapp.cmsdata.dao/Dao_T_Node/getFieldValueByCycle.fn?fieldName=f_model&id=" + nodeId, '', function(modelPath) {
            getModelJson(modelPath, callback);
        });
    }

    function removeOldParam(oq, field) {
        oq = oq.replace(new RegExp(field + "(='[^ ]*')", "g"), "1=1")
                .replace(new RegExp(field + " (like '%[^ ]*%')", "g"), "1=1");
        return oq;
    }

    function insertCtrl(row, field, MOD) {
        var props = MOD.properties;
        var label = $("<span style='display:inline-block;width:50px'/>").appendTo(row);
        var valueSpan = $("<span style='display:inline-block;'/>").appendTo(row);
        for (var i = 0; i < props.length; i++) {
            if (props[i].f_field == field) {
                var opts = props[i].f_options;
                label.append(props[i].f_name + ":");
                if (opts.length == 0)
                    valueSpan.append("<input name='" + field + "'/>");
                else {
                    opts = opts.split(",");
                    var se = $("<select name='" + field + "'/>").appendTo(valueSpan);
                    se.append("<option value=''>所有</option>");
                    for (var j = 0; j < opts.length; j++)
                        se.append("<option>" + opts[j] + "</option>");
                }
                break;
            }
        }
    }

    //field,field;
    var a_fn = moduleParams.fieldNames.split(',');
    if (reloadHtml) {
        var form = $("<form style='margin-bottom:10px'/>").appendTo(moduleDiv);
        prepairModel(function(MOD) {
            for (var i = 0; i < a_fn.length; i++) {
                var row = $("<div/>").appendTo(form);
                insertCtrl(row, a_fn[i], MOD);
            }
            var btn = $("<input type='button' class='ui-btn-submit soso_button' value=''>").appendTo($("<div align='right'/>").appendTo(form));
            moduleDiv.append("<div class='clearfloat'></div>");
            btn.click(function(e) {
                var target = $("." + moduleParams.targetID);
                if (target.length > 0) {
                    var conf = JSON.parse(target.attr("module"));
                    if (!conf.params.otherQuery)
                        conf.params['otherQuery'] = "1=1";
                    var inputs = form.find(":input:not(:button)");
                    var cond = "";
                    for (var i = 0; i < inputs.length; i++) {
                        conf.params['otherQuery'] = removeOldParam(conf.params['otherQuery'], inputs[i].name);
                        if (inputs[i].type.indexOf('text') != -1)
                            cond += " and " + inputs[i].name + " like '%" + inputs[i].value + "%'";
                        else {
                            if (inputs[i].value != '')
                                cond += " and " + inputs[i].name + "='" + inputs[i].value + "'";
                        }
                    }
                    conf.params['otherQuery'] += cond;
                    target.attr("module", JSON.stringify(conf));
                    loadModule(target, true);

                }
            });
        })
    }

}

/**
 *
 * @param moduleDiv
 * @param moduleParams
 * @param reloadHtml
 */
function pagination(moduleDiv, moduleParams, reloadHtml) {
    /**
     * This jQuery plugin displays pagination links inside the selected elements.
     *
     * @author Gabriel Birke (birke *at* d-scribe *dot* de)
     * @version 1.2
     * @param {int} maxentries Number of entries to paginate
     * @param {Object} opts Several options (see README for documentation)
     * @return {Object} jQuery Object
     */
    jQuery.fn.pagination = function(maxentries, opts) {
        opts = jQuery.extend({
            items_per_page:10,
            num_display_entries:10,
            current_page:0,
            num_edge_entries:0,
            link_to:"#",
            prev_text:"Prev",
            next_text:"Next",
            ellipse_text:"...",
            prev_show_always:true,
            next_show_always:true,
            callback:function() {
                return false;
            }
        }, opts || {});

        return this.each(function() {
            /**
             * Calculate the maximum number of pages
             */
            function numPages() {
                return Math.ceil(maxentries / opts.items_per_page);
            }

            /**
             * Calculate start and end point of pagination links depending on
             * current_page and num_display_entries.
             * @return {Array}
             */
            function getInterval() {
                var ne_half = Math.ceil(opts.num_display_entries / 2);
                var np = numPages();
                var upper_limit = np - opts.num_display_entries;
                var start = current_page > ne_half ? Math.max(Math.min(current_page - ne_half, upper_limit), 0) : 0;
                var end = current_page > ne_half ? Math.min(current_page + ne_half, np) : Math.min(opts.num_display_entries, np);
                return [start,end];
            }

            /**
             * This is the event handling function for the pagination links.
             * @param {int} page_id The new page number
             */
            function pageSelected(page_id, evt) {
                current_page = page_id;
                drawLinks();
                var continuePropagation = opts.callback(page_id, panel);
                if (!continuePropagation) {
                    if (evt.stopPropagation) {
                        evt.stopPropagation();
                    }
                    else {
                        evt.cancelBubble = true;
                    }
                }
                return continuePropagation;
            }

            /**
             * This function inserts the pagination links into the container element
             */
            function drawLinks() {
                panel.empty();
                var interval = getInterval();
                var np = numPages();
                // This helper function returns a handler function that calls pageSelected with the right page_id
                var getClickHandler = function(page_id) {
                    return function(evt) {
                        return pageSelected(page_id, evt);
                    }
                }
                // Helper function for generating a single link (or a span tag if it's the current page)
                var appendItem = function(page_id, appendopts) {
                    page_id = page_id < 0 ? 0 : (page_id < np ? page_id : np - 1); // Normalize page id to sane value
                    appendopts = jQuery.extend({text:page_id + 1, classes:""}, appendopts || {});
                    if (page_id == current_page) {
                        var lnk = jQuery("<span class='current'>" + (appendopts.text) + "</span>");
                    }
                    else {
                        var lnk = jQuery("<a>" + (appendopts.text) + "</a>")
                                .bind("click", getClickHandler(page_id))
                                .attr('href', opts.link_to.replace(/__id__/, page_id));


                    }
                    if (appendopts.classes) {
                        lnk.addClass(appendopts.classes);
                    }
                    panel.append(lnk);
                }
                // Generate "Previous"-Link
                if (opts.prev_text && (current_page > 0 || opts.prev_show_always)) {
                    appendItem(current_page - 1, {text:opts.prev_text, classes:"prev"});
                }
                // Generate starting points
                if (interval[0] > 0 && opts.num_edge_entries > 0) {
                    var end = Math.min(opts.num_edge_entries, interval[0]);
                    for (var i = 0; i < end; i++) {
                        appendItem(i);
                    }
                    if (opts.num_edge_entries < interval[0] && opts.ellipse_text) {
                        jQuery("<span>" + opts.ellipse_text + "</span>").appendTo(panel);
                    }
                }
                // Generate interval links
                for (var i = interval[0]; i < interval[1]; i++) {
                    appendItem(i);
                }
                // Generate ending points
                if (interval[1] < np && opts.num_edge_entries > 0) {
                    if (np - opts.num_edge_entries > interval[1] && opts.ellipse_text) {
                        jQuery("<span>" + opts.ellipse_text + "</span>").appendTo(panel);
                    }
                    var begin = Math.max(np - opts.num_edge_entries, interval[1]);
                    for (var i = begin; i < np; i++) {
                        appendItem(i);
                    }

                }
                // Generate "Next"-Link
                if (opts.next_text && (current_page < np - 1 || opts.next_show_always)) {
                    appendItem(current_page + 1, {text:opts.next_text, classes:"next"});
                }
            }

            // Extract current_page from options
            var current_page = opts.current_page;
            // Create a sane value for maxentries and items_per_page
            maxentries = (!maxentries || maxentries < 0) ? 1 : maxentries;
            opts.items_per_page = (!opts.items_per_page || opts.items_per_page < 0) ? 1 : opts.items_per_page;
            // Store DOM element for easy access from all inner functions
            var panel = jQuery(this);
            // Attach control functions to the DOM element
            this.selectPage = function(page_id) {
                pageSelected(page_id);
            }
            this.prevPage = function() {
                if (current_page > 0) {
                    pageSelected(current_page - 1);
                    return true;
                }
                else {
                    return false;
                }
            }
            this.nextPage = function() {
                if (current_page < numPages() - 1) {
                    pageSelected(current_page + 1);
                    return true;
                }
                else {
                    return false;
                }
            }
            // When all initialisation is done, draw the links
            drawLinks();
            // call callback function
            //opts.callback(current_page, this);
        });
    }
    moduleDiv = $(moduleDiv);
    if (reloadHtml) {

        var pagination = $("<div class='pagination'></div>").appendTo(moduleDiv);
        var pi = moduleParams.pageIndex ? moduleParams.pageIndex : 0;
        var tid = moduleParams.targetID;
        pagination.pagination(moduleParams.total, {
            num_edge_entries: 2, //边缘页数
            num_display_entries:3,
            current_page: pi, //主体页数
            prev_text: "前一页",
            next_text: "后一页",
            items_per_page : moduleParams.pageSize,
            callback: function(pageNumber, pageSize) {
                var mod = $(document.getElementById(tid));
                var cfg = mod.attr("module");
                cfg = JSON.parse(cfg);
                cfg.params["pageIndex"] = pageNumber;
                mod.attr("module", JSON.stringify(cfg));
                loadModule(mod, true) ;
                return false;
            }
        });

    }

}

/**
 *
 * @param moduleDiv
 * @param moduleParams
 * @param reloadHtml
 */
function picShow1(moduleDiv, moduleParams, reloadHtml) {
    if (reloadHtml) {// 是否重新加载内容
        moduleDiv = $(moduleDiv);
        $.getScript(modulesPath + 'picShow1/myfocus-1.2.0.min.js', function() {
            $.getScript(modulesPath + 'picShow1/mF_taobao2010.js', function() {

                $.get(modulesPath + 'picShow1/mF_taobao2010.css', function(d) {
                    moduleDiv.append("<style>\n" + d + "\n</style>");
                });

                var f_nodeId = moduleParams.nodeId || moduleDiv.attr("f_nodeId") || getParameterByUrl("id");
                $.getJSON(proxyName + "/Dao_T_Content/getRowsByCase.fn", "whereQuery=" + encodeURI('["f_nodeIdPath like ? and f_preview<>? and f_state=9","%_' + f_nodeId + '_%",""]&pageSize=' + moduleParams.pageSize + '&orderSql=' + moduleParams.orderSql), function(data) {
                    var box = $('<div id="boxID" style="visibility:hidden"/>').appendTo(moduleDiv);
                    var loading = $('<div class="loading"><span>请稍候...</span></div>').appendTo(box);
                    var picul = $('<ul class="pic"/>').appendTo(box);
                    $.each(data, function(i, d) {
                        picul.append('<li><a target="' + moduleParams.target + '" href="contentPage.jsp?id=' + d.f_id + '"><img width="' + moduleParams.width + '" height="' + moduleParams.height + '" src="' + d.f_preview + '" thumb="" alt="' + d.f_title + '" /></a></li>');
                    });
                    $('#boxID').myFocus({
                        id : 'boxID', // 焦点图盒子ID
                        pattern : 'mF_taobao2010', // 风格应用的名称
                        time : 5, // 切换时间间隔(秒)，省略设置即不自动切换
                        trigger : 'mouseover', // 触发切换模式:'click'(点击)/'mouseover'(悬停)，默认'click'
                        width : '100%', // 设置宽度(主图区)
                        height : moduleParams.height, // 设置高度(主图区)
                        txtHeight : 'default'// 文字层高度设置,'default'为默认高度，0为隐藏，默认'default'
                    });
                });
            })
        })

    }
}

/**
 *
 * @param moduleDiv
 * @param moduleParams
 * @param reloadHtml
 */
function position(moduleDiv, moduleParams, reloadHtml) {


    if (reloadHtml) {// 是否重新加载内容
        // 加载内容
        moduleDiv = $(moduleDiv);
        // moduleDiv.empty()
        var id = getParameterByUrl("id");
        var isContentPage1 = isContentPage();
        var url = proxyName + '/Dao_T_Node/getById.fn';
        if (isContentPage1) {
            url = proxyName + '/Dao_T_Content/getById.fn';
        }
        var pos = moduleParams.label;
        $.getJSON(url, 'id=' + id, function(row) {
            var idpath = row['f_idPath'] || row['f_nodeIdPath'];
            idpath = idpath.substring(1, idpath.length - 1);
            idpath = idpath.split('_');
            $.each(idpath, function(i, n) {
                $.getJSON(proxyName + '/Dao_T_Node/getById.fn', 'id=' + n,
                        function(node) {
                            if (i > 0)
                                pos += moduleParams.seprator;
                            pos += '<a href="nodePage.jsp?id=' + node.f_id + '" target="' + (node.f_isOpenInNewPage ? '_blank' : '') + '">' + node.f_name + '</a>';

                            if (i == idpath.length - 1)moduleDiv.append(pos)
                        })

            });

        });

    }
}

/**
 *查找工具栏
 * @param moduleDiv
 * @param moduleParams
 * @param reloadHtml
 */
function searchbar(moduleDiv, moduleParams, reloadHtml) {
    function getNodeIdByUrl1(callback) {
        var rtn = "";
        rtn = getParameterByArrayString("id", getQueryString(), "&", "=");
        if (isContentPage()) {
            var idArr = $.getJSON(proxyName + '/Dao_T_Content/getRowsById.fn', 'fieldNames=f_nodeId&id=' + rtn, function(idArr) {
                rtn = idArr[0] || 0;
                callback.call(callback, rtn)
            });
        }
        else
            callback.call(callback, rtn)
    }

    if (reloadHtml) {//是否重新加载内容
        //加载内容
        var f_nodeId = getNodeIdByUrl();
        getNodeIdByUrl1(function(f_nodeId) {
            moduleDiv = $(moduleDiv);
            $.ajax({
                type: "GET",
                url: modulesPath + "searchbar/view.html",
                success: function(returnData) {
                    view = returnData ;
                    moduleDiv.append(view);
                    var keyfrom = moduleDiv.find("[name='keyfrom']");

                    if (f_nodeId) {
//            $.get(proxyName+"/Dao_T_Node/getById.fn", "id=" + f_nodeId, function(data) {
//                data = JSON.parse(data);
//                moduleDiv.find("[type='submit']").prepend(data.f_name);
//            });
//            keyfrom.val(f_nodeId);
                    }
                    var q = moduleDiv.find("[name='wd']");
                    q.val(moduleParams.defaultValue);
                    var wd = getParameterByUrl("wd");
                    wd = decodeURI(wd);
                    if (!wd)
                        q.focus(function() {
                            q.val('')
                        });
                    else
                        q.val(wd);
                    var form = moduleDiv.find(".indexSearch-form");
                    form.find("[name='id']").val(f_nodeId);
                    form.attr("action", "searchPage.jsp");
                    if (getDocumentName().indexOf('search') == -1)
                        form.attr("target", "_blank");
                }
            });
        });

    }
}

/**
 *点击率显示
 * @param moduleDiv
 * @param moduleParams
 * @param reloadHtml
 */
function showhits(moduleDiv, moduleParams, reloadHtml) {
    moduleDiv = $(moduleDiv);

    if (reloadHtml) {
        var nodeid = getParameterByUrl("id");

        function execc() {
            $.getJSON(proxyName + "/Dao_T_Node/getById.fn", "id=" + nodeid, function(node) {
                var idpath = node['f_idPath'];
                var cond = ["f_idPath like '" + idpath + "%'"];
                var conditions = {
                    whereQuery:JSON.stringify(cond),
                    fieldNames:"f_hits_self"
                }
                $.getJSON(proxyName + "/Dao_T_Node/getRowsByCase.fn", $.param(conditions), function(data) {
                    var all = 0;
                    for (var i = 0; i < data.length; i++) {
                        all += parseInt(isNaN(data[i]) ? "0" : data[i]);
                    }
                    var label = moduleParams.textLabel;
                    label = label.replace('*', all);
                    moduleDiv.html(label);
                });
            });
        }

        if (isContentPage() || isCommentPage()) {
            $.getJSON(proxyName + "/Dao_T_Content/getById.fn", "id=" + nodeid,
                    function(nid) {
                        nodeid = nid['f_nodeId'];
                        execc()
                    })
        }
        else {
            execc()
        }

    }

}

function tougao(moduleDiv, moduleParams, reloadHtml) {
    var tougaoflag = false;
    var projectPath;
    var userName;
    var webFileManagePath;
    $.extend(window, {
        getFileName:function(urlName, nodeId) {

            var tmpid = $('input[name="f_id"]').val();
            for (i = 0; i < 9 - $('input[name="f_id"]').val().length; i++) {
                tmpid = "0" + "" + tmpid;
            }

            var rootPath = projectPath + userName + "/nodes/node_" + nodeId + "/";
            var ext = encodeURI("图片文件 (*.jpg;*.png;*.gif)");
            var size = encodeURI("2 MB");
            var url = webFileManagePath + "listPath.jsp?rootPath=" + rootPath + "&ext=" + ext + "&size=" + size; // +
            // "&msgId="
            // +
            // msgId
            var fileName = window.showModalDialog(url, "", "dialogWidth=800px;dialogHeight=600px");
            // var fileName=window.open("index.jsp")
            if (fileName != null && fileName.length > 0) {
                $('input[name="' + urlName + '"]').val(encodeURI(fileName));
            }
        },
        addTouGao:function() {
            var posturl;// 请求地址
            var postdata;// 请求数据
            var fields = {};
            var formdata = $('#ff').serializeArray();
            for (var i = 0; i < formdata.length; i++) {
                if (formdata[i]["name"] == "f_id") {
                    continue;
                }
                fields[formdata[i]["name"]] = formdata[i]["value"];
            }
            fields["f_createUser"] = userName;
            posturl = proxyName + "/Dao_T_Content/insert.fn";
            postdata = "fields=" + encodeURIComponent(JSON.stringify(fields));
            if ($.trim($('input[name="f_title"]')) == "") {
                alert("请填写完整！");
                return;
            }
            if (tougaoflag) {
                alert('请刷新页面后再次进行投稿。');
                return;
            }
            $.post("/cms/sso_getLoginInfo.jsp", "name=loginUser", function(userName) {
                if (userName == null || userName == "null" || userName == undefined) {
                    alert("请登录后再进行投稿！");
                    return;
                }
                $.post(posturl, postdata, function(data) {
                    if ($.trim(data) == "") {
                        alert('投稿失败！');
                    } else {
                        tougaoflag = true;
                        $.getJSON('http://sso.shxbe.com/sso/setPoint.jsp?type=addContent&userName=' + userName + '&callback=?');
                        alert('投稿成功！\n您的稿件我们将在几天内进行审核，审核通过后即可发表。谢谢您的参与。');
                        //parent.location.reload();
                    }

                });
            });


        }
    })  ;
    moduleDiv = $(moduleDiv);
    projectPath = "/cmsFile/";
    var managePath = "/webFileManage/myIo/";
    webFileManagePath = "/webFileManage/";
    userName = "system";
    // 上传路径
    var sitePath = "/webFile/";

    // var condition = getConditions(moduleParams);
    //
    // var conditions = {
    // whereQuery : JSON.stringify(condition),
    // pageSize : moduleParams.pageSize || 5,
    // orderSql : moduleParams.orderSql || ''
    // };
    function getModelPath(ids, fn) {
        var whereString = "";
        var wq = new Array();
        for (var j = 0; j < ids.length; j++) {
            if ($.trim(ids[j]) != "") {
                if (whereString != "") {
                    whereString = whereString + " or ";
                }
                whereString = whereString + "f_id= ?";
                wq[0] = whereString;
                wq.push(ids[j]);
            }
        }

        var tmpNodes;
        var whereQuery = JSON.stringify(wq);
        $.post(proxyName + "/Dao_T_Node/getRowsByCase.fn", encodeURI("whereQuery=" + whereQuery), function(data) {
            tmpNodes = JSON.parse(data);
            for (var i = tmpNodes.length - 1; i > -1; i--) {
                if ($.trim(tmpNodes[i].f_model) !== "") {
                    fn(tmpNodes[i].f_model);
                }
            }
        });

    }

    /**
     * 获取模型属性
     *
     * @param modelId
     *          模型ID
     * @returns {Array} 模型属性
     */
    function getModel(modelPath, fn) {
        var tmpModel = new Array();
        $.post(sitePath + projectPath + modelPath, "", function(data) {
            $.each(JSON.parse(data).properties, function(i, n) {
                if (n.f_editType == 2 || n.f_editType == 4) {
                    tmpModel.push(n);
                }
            });
            fn(tmpModel);
        });
    }

    /**
     * 创建表单
     *
     * @param node_path
     *          内容NodePath
     * @param f_id
     *          内容ID
     */
    function createForm(node_path) {
        var ids = node_path.split('_');

        getModelPath(ids, function(modelPath) {
            getModel(modelPath, function(modelData) {
                modelData.sort(function(a, b) {
                    return a.f_order - b.f_order;
                });
                var content = '<table class="createForm" width="100%" style="padding:10px">';
                content = '<div>'  ;
                for (j = 0; j < modelData.length; j++) {
                    content = content + createString(modelData[j]);
                }
                content += "</div>"  ;
//                content = content + "</table>";
                $('#formTabs').html(content);
            });

        });

    }

    function createString(data) {
        var context = "<tr>";
        context = context + "<td style='width:80px'  valign='top'>" + data.f_newName + "</td>";
        context = context + "<td valign='top'>";
        var width = (data.f_valueType == "text" || data.f_valueType == "textarea" || data.f_valueType == "url") ? "width:100%" : "width:50%";
        context = "<div style='float:left;margin-top:10px;" + width + "'>";
        context = context + "<span style='vertical-align:top;display: inline-block;width:80px'>" + data.f_newName + ":</span>";
        // string生成
        context += "<span style='display: inline-block;width:70%'>";
        if (data.f_valueType == "string") {
            if (data.f_editType == 1 || data.f_editType == 4 || data.f_type == '只读属性') {
                context = context + "<input class='editbox' style='width: 90%' type='text' name='" + data.f_field + "' value='" + data.f_defaultValue + "' disabled='disabled'/>";
            } else {
                context = context + "<input class='editbox' style='width: 90%' type='text' name='" + data.f_field + "' value='" + data.f_defaultValue + "'/>";
                if (data.f_validate == "required") {
                    context = context + '<script>$("input[name=\'' + data.f_field + '\']").validatebox({required:true,missingMessage:"' + data.f_newName + '不能为空！"})</script>';
                }
            }
        }
        // text生成
        else if (data.f_valueType == "text") {
            if (data.f_editType == 1 || data.f_editType == 4 || data.f_type == '只读属性') {
                context = context + '<textarea name="' + data.f_field + '" class="editbox" style="width: 90%;height:80px" value="' + data.f_defaultValue + '" disabled="disabled"></textarea>';
            } else {
                context = context + '<textarea name="' + data.f_field + '" class="editbox" style="width: 90%;height:80px"  value="' + data.f_defaultValue + '"></textarea>';
                if (data.f_validate == "required") {
                    context = context + '<script>$("input[name=\'' + data.f_field + '\']").validatebox({required:true,missingMessage:"' + data.f_newName + '不能为空！"})</script>';
                }
            }

        }
        // textarea生成
        else if (data.f_valueType == "textarea") {

            if (data.f_editType == 1 || data.f_editType == 4 || data.f_type == '只读属性') {
                context = context + '<textarea id ="' + data.f_field + '" name="' + data.f_field + '" class="editbox" style="width: 200px;height:200px" value="' + data.f_defaultValue + '" disabled="disabled"></textarea>';

            } else {

                context = context + '<textarea id ="' + data.f_field + '" name="' + data.f_field + '" class="editbox" style="width: 90%;height:200px"  value="' + data.f_defaultValue + '"></textarea>';
            }
            upLinkUrl = "!" + webFileManagePath + "listPath.jsp?" + encodeURI("rootPath=" + projectPath + userName + "/nodes/node_" + 1 + "/" + "/&ext=压缩文件 (*.rar;*.zip)&size=10 MB");
            upImgUrl = "!" + webFileManagePath + "listPath.jsp?" + encodeURI("rootPath=" + projectPath + userName + "/nodes/node_" + 1 + "/" + "/&ext=图片文件 (*.jpg;*.png;*.gif)&size=100 KB");
            upFlashUrl = "!" + webFileManagePath + "listPath.jsp?" + encodeURI("rootPath=" + projectPath + userName + "/nodes/node_" + 1 + "/" + "/&ext=flash文件 (*.swf)&size=1 MB");
            upMediaUrl = "!" + webFileManagePath + "listPath.jsp?" + encodeURI("rootPath=" + projectPath + userName + "/nodes/node_" + 1 + "/" + "/&ext=视频文件 (*.wmv)&size=1 MB");
            context = context + "<script>$('#" + data.f_field + "').xheditor({tools:'simple',upLinkUrl:upLinkUrl,upImgUrl:upImgUrl,upFlashUrl:upFlashUrl,upMediaUrl:upMediaUrl});</script>";
        }
        // number生成
        else if (data.f_valueType == "number") {
            if (data.f_editType == 1 || data.f_editType == 4 || data.f_type == '只读属性') {
                context = context + '<input type="text" name="' + data.f_field + '" class="easyui-numberbox editbox" disable="true" style="width: 90%" value="' + data.f_defaultValue + '"/>';
                context = context + '<script>$("input[name=\'' + data.f_field + '\']").numberbox({disabled:true})</script>';
            } else {
                context = context + '<input type="text" name="' + data.f_field + '" class="easyui-numberbox editbox" style="width: 90%" value="' + data.f_defaultValue + '"/>';
                context = context + '<script>$("input[name=\'' + data.f_field + '\']").numberbox({})</script>';
                if (data.f_validate == "required") {
                    context = context + '<script>$("input[name=\'' + data.f_field + '\']").validatebox({required:true,missingMessage:"' + data.f_newName + '不能为空！"})</script>';
                }
            }
        }
        // url生成
        else if (data.f_valueType == "url") {
            if (data.f_editType == 1 || data.f_editType == 4 || data.f_type == '只读属性') {
                context = context + '<input name="' + data.f_field + '" type="text" disabled="disabled" class="editbox" style="width: 80%" disabled="disabled" value="' + data.f_defaultValue + '" /> <a href="#" class="easyui-linkbutton" iconCls="icon-search" plain="true" onClick="getFileName(\'' + data.f_field + '\',' + moduleParams.targetNodeId + ')">浏览</a> <a href="#" class="easyui-linkbutton" iconCls="icon-search" plain="true" onClick="doViewUpLoad(\'' + data.f_field + '\')">预览</a>';
            } else {
                context = context + '<input name="' + data.f_field + '" type="text" class="editbox" style="width: 80%" value="' + data.f_defaultValue + '"/> <a href="#" class="easyui-linkbutton" iconCls="icon-search" plain="true" onClick="getFileName(\'' + data.f_field + '\',' + moduleParams.targetNodeId + ')">浏览</a> <a href="#" class="easyui-linkbutton" iconCls="icon-search" plain="true" onClick="doViewUpLoad(\'' + data.f_field + '\')">预览</a>';
            }
        }
        // options生成
        else if (data.f_valueType == "options") {
            if (data.f_editType == 1 || data.f_editType == 4) {
                context = context + '<select name="' + data.f_field + '"  style="width:90%" disabled="disabled">';
            } else {
                context = context + '<select name="' + data.f_field + '"   style="width:90%">';
            }
            var options = data.f_options.split(',');
            for (var i = 0; i < options.length; i++) {
                if (options[i].lastIndexOf(':') > 0) {
                    context = context + '<option value="' + options[i].split(':')[1] + '">' + options[i].split(':')[0] + '</option>';

                } else {
                    context = context + '<option>' + options[i] + '</option>';
                }

            }
            context = context + '</select>';
        }
        context = context + "</span></div>";
//        context = context + "</td>";
//        context = context + "<td style='width:150px'   valign='top'>" + data.f_intro + "</td></tr>";
        return context;
    }

    function doViewUpLoad(urlName) {
        var tmp = window.open("about:blank", "");
        tmp.moveTo(0, 0);
        tmp.resizeTo(screen.width + 20, screen.height);
        tmp.focus();
        tmp.location = $('input[name="' + urlName + '"]').val();
    }

    function loadJS(url, callback, charset) {
        var script = document.createElement('script');
        script.onload = script.onreadystatechange = function() {
            if (script && script.readyState && /^(?!(?:loaded|complete)$)/.test(script.readyState))
                return;
            script.onload = script.onreadystatechange = null;
            script.src = '';
            script.parentNode.removeChild(script);
            script = null;
            if (callback)
                callback();
        };
        script.charset = charset || document.charset || document.characterSet;
        script.src = url;
        try {
            document.getElementsByTagName("head")[0].appendChild(script);
        } catch (e) {
        }
    }

    if (reloadHtml) {
        loadJS('/jsLib/xheditor/xheditor-zh-cn.min.js', function() {
            var contentHtml = '<form method="post" id="ff" style="height:100%;width:100%;margin:0px;padding: 0px">' + '<input type="hidden" name="f_id"/>' + '<input type="hidden" name="f_nodeId"/>' + '<input type="hidden" name="f_nodeIdPath"/>' + '<div id="formTabs" style="overflow: auto">' + '</div>' + '</form>';
//            contentHtml = contentHtml + "<input type='image' style='float: right;height:35px;background:url(webFile/cmsFile/system/themes/default/img/btn-bg.png) repeat-x;border:1px solid #eee;padding: 10px auto' onclick='addTouGao();' value='提交'>"
            contentHtml = contentHtml + '<input type="button" value="提交" style="float:right;width: 95px;height: 32px;padding: 0;padding-top: 2px;border: 0;background: #DDD url(http://www.baidu.com/img/i2.png) 0 -35px;cursor: pointer;" onclick="addTouGao();">';

            moduleDiv.html(contentHtml);
            var nodedata;
            $.post(proxyName + "/Dao_T_Node/getById.fn", "id=" + moduleParams.targetNodeId, function(data) {
                nodedata = JSON.parse(data);

                $('input[name="f_nodeId"]').val(nodedata.f_id);
                $('input[name="f_title"]').val("标题");
                $('input[name="f_nodeIdPath"]').val(nodedata.f_idPath);
                createForm(nodedata.f_idPath);
            })
        });
    }
}


/**
 * 投稿链接模块
 * @param moduleDiv
 * @param moduleParams
 * @param reloadHtml
 */
function tougao_link(moduleDiv, moduleParams, reloadHtml) {
    moduleDiv = $(moduleDiv);
    var nodeId = moduleParams.targetNodeId;
    if (nodeId == 'null' || nodeId == '-1')
        nodeId = getParameterByUrl("id");
    var div = $("<div id='SimpleDialog' class='simple_overlay'></div>").appendTo(moduleDiv);
    //var comm1 = $("<div id='TouGaoForm' class='module' style='height:400px;overflow:auto'/>").attr("module", '{"name":"tougao","params":{"targetNodeId":' + nodeId + '}}').appendTo(div);
    //loadModule(comm1, true)
    var a = $('<a class="tougao-link" href="#" rel="#SimpleDialog">' + moduleParams.linkText + '</a> ');
    a.click(function() {
        var sss = '<div id=TouGaoForm class=module style=height:400px;overflow:auto module={"name":"tougao","params":{"targetNodeId":1}}/>';
        asyncbox.open({id:'tougaobox',html:sss,width:640}) ;
        $.getScript('/jsLib/easyUi/plugins/jquery.validatebox.js', function() {
            loadModule($("#tougaobox #TouGaoForm"), true);
        });

        return false;
    })  ;

    moduleDiv.append(a);

}

/**
 * 单值模块
 * @param moduleDiv
 * @param moduleParams
 * @param reloadHtml
 */
function valueOf(moduleDiv, moduleParams, reloadHtml) {
    if (reloadHtml) {// 是否重新加载内容
        // 加载内容
        var id = (moduleParams.id == "" || moduleParams.id == '-1') ? getParameterByUrl("id") : moduleParams.id;

        function execc(id) {

            var url = "";
            var queryMethod = "/getFieldValue.fn?fieldName=" + moduleParams.fieldName;
            if (moduleParams.isCycle)
                queryMethod = "/getFieldValueByCycle.fn?fieldName=" + moduleParams.fieldName;

            url = proxyName + "/" + moduleParams.domain + queryMethod;
            $.get(url, "id=" + id, function(data) {
                var content = '';
                if (moduleParams.displayType == "text") {
                    var label = moduleParams.textLabel;
                    var value = "<span class='value'>" + data + "</span>";
                    if (label != '') {
                        if (label.indexOf('*') > 0) {
                            label = label.replace('*', value);
                            content += "<span class='label'>" + label + "</span>";
                        }
                        else {
                            content += "<span class='label'>" + label + "</span>";
                            content += value;
                        }
                    }
                    else
                        content += value;
                } else if (moduleParams.displayType == "link") {
                    var label = moduleParams.textLabel;
                    var value = "<a href='" + data + "'>" + data + "</a>";
                    if (label != '') {
                        if (label.indexOf('*') > 0) {
                            label = label.replace('*', value);
                            content += "<span class='label'>" + label + "</span>";
                        }
                        else {
                            content += "<span class='label'>" + label + "</span>";
                            content += value;
                        }
                    }
                    else
                        content += value;
                } else if (moduleParams.displayType == "img") {
                    content = "<img width='100%' src='" + data + "'/>";
                } else if (moduleParams.displayType == "flash") {
                    //content = content + '<embed src="' + data + '" width="100%" type="application/x-shockwave-flash" quality="high" pluginspage="http://www.macromedia.com/go/getflashplayer">';
                    content = content + '<embed src="' + data + '" style="width:100%;height:100%;"';
                    content = content + '</embed>';
                } else if (moduleParams.displayType == "movie" && moduleParams.isPlay == true) {
                    content = content + '<embed src="' + modulesPath + 'contentContext/Flvplayer.swf" allowfullscreen="true" flashvars="vcastr_file=' + data + '&vcastr_title=' + data + '&LogoText=www.shxbe.com&IsAutoPlay=0&IsContinue=1" quality="high" pluginspage="http://www.macromedia.com/go/getflashplayer" type="application/x-shockwave-flash" width="100%" height="400"></embed>';
                }

                $(moduleDiv).html(content);
            });
        }

        if ((isContentPage() || isCommentPage()) && moduleParams.domain == 'Dao_T_Node' && moduleParams.id == '-1') {
            $.get(proxyName + "/Dao_T_Content/getFieldValue" +
                    ".fn?fieldName=f_nodeId&id=" + id, '', function(idd) {
                id = idd;
                execc(id)
            })

        } else {
            execc(id)
        }
    }
}

/**
 * 飘动模块
 * @param moduleDiv
 * @param moduleParams
 * @param reloadHtml
 */
function wave(moduleDiv, moduleParams, reloadHtml) {
    var params = moduleParams;
    var modelName = moduleParams['name'];
    moduleDiv = $(moduleDiv);
    var contentPanel = moduleDiv;
    moduleDiv.css(moduleParams);
    var t = parseInt(moduleDiv.css("top"));
    var l = parseInt(moduleDiv.css("left"));
    var obj = moduleDiv.get(0);
    var offsetw = document.body.clientWidth;
    var offseth = document.body.clientHeight;
    if (params.bottom)t = offseth - parseInt(params.bottom) - obj.offsetHeight;
    if (params.right)l = offsetw - parseInt(params.right) - obj.offsetWidth;

    moduleDiv.css("height", obj.offsetHeight);
    var x = l,y = t;
    var xin = true, yin = true   ;
    var step = params.step | 1;
    var delay = params.delay | 10;
    var itl;
    var ccc = $("<div/>").append(moduleParams.text).appendTo(contentPanel);
    $.extend(window, {
        wave:function() {
            var L = 0;
            var T = 40  ;
            var R = document.body.clientWidth - obj.offsetWidth   ;
            var B = (window.innerHeight || document.body.offsetHeight) - obj.offsetHeight - 40  ;
            obj.style.left = x + document.body.scrollLeft + 'px'  ;
            obj.style.top = y + document.body.scrollTop + 'px' ;
            if (params.isWave)
                x = x + step * (xin ? 1 : -1) ;
            if (x < L) {
                xin = true;
                x = L  ;
            }
            if (x > R) {
                xin = false;
                x = R ;
            }
            if (params.isWave)
                y = y + step * (yin ? 1 : -1)  ;
            if (y < T) {
                yin = true;
                y = T ;
            }
            if (y > B) {
                yin = false;
                y = B  ;
            }
        },
        closeAni:function() {
            clearInterval(itl);
        }
    });
    if (params.autoStart && params.autoStart == true)
        itl = setInterval("wave()", delay) ;
    obj.onmouseover = function() {
        clearInterval(itl)  ;
    }
    obj.onmouseout = function() {
        itl = setInterval("wave()", delay)  ;
    }

}

/**
 * 新增评论
 *
 * @param moduleDiv
 * @param moduleParams
 * @param reloadHtml
 */
function comment_add(moduleDiv, moduleParams, reloadHtml) {
    (function(g) {
	g.fn.raty = function(n) {
		options = g.extend({}, g.fn.raty.defaults, n);
		if (this.length == 0) {
			d("Selector invalid or missing!");
			return;
		} else {
			if (this.length > 1) {
				return this.each(function() {
							g.fn.raty.apply(g(this), [n]);
						});
			}
		}
		if (options.number > 20) {
			options.number = 20;
		} else {
			if (options.number < 0) {
				options.number = 0;
			}
		}
		if (options.path.substring(options.path.length - 1, options.path.length) != "/") {
			options.path += "/";
		}
		$global = g(this);
		$global.data("options", options);
		var k = this.attr("id"), l = 0, s = options.starOn, o = "", m = (options.width) ? options.width : (options.number * options.size + options.number * 4);
		if (k == "") {
			k = "raty-" + $global.index();
			$global.attr("id", k);
		}
		if (!isNaN(options.start) && options.start > 0) {
			l = (options.start > options.number) ? options.number : options.start;
		}
		for (var p = 1; p <= options.number; p++) {
			s = (l >= p) ? options.starOn : options.starOff;
			o = (p <= options.hintList.length && options.hintList[p - 1] !== null) ? options.hintList[p - 1] : p;
			$global.append('<img id="' + k + "-" + p + '" src="' + options.path + s + '" alt="' + p + '" title="' + o + '" class="' + k + '"/>').append((p < options.number) ? "&nbsp;" : "");
		}
		g("<input/>", {
					id : k + "-score",
					type : "hidden",
					name : options.scoreName
				}).appendTo($global).val(l);
		if (options.half) {
			b($global, g("input#" + k + "-score").val(), options);
		}
		if (!options.readOnly) {
			if (options.cancel) {
				var q = g("img." + k), t = '<img src="' + options.path + options.cancelOff + '" alt="x" title="' + options.cancelHint + '" class="button-cancel"/>', j = options, r = $global;
				if (j.cancelPlace == "left") {
					$global.prepend(t + "&nbsp;");
				} else {
					$global.append("&nbsp;").append(t);
				}
				g("#" + k + " img.button-cancel").mouseenter(function() {
							g(this).attr("src", j.path + j.cancelOn);
							q.attr("src", j.path + j.starOff);
						}).mouseleave(function() {
							g(this).attr("src", j.path + j.cancelOff);
							q.mouseout();
						}).click(function() {
							g("input#" + k + "-score").val(0);
							if (j.click) {
								j.click.apply(r, [0]);
							}
						});
				$global.css("width", m + options.size + 4);
			} else {
				$global.css("width", m);
			}
			$global.css("cursor", "pointer");
			f($global, options);
		} else {
			$global.css("cursor", "default");
			h($global, l, options);
		}
		return $global;
	};
	function f(k, j) {
		var m = k.attr("id"), l = g("input#" + m + "-score"), i = g("img." + m).length;
		g("#" + m).mouseleave(function() {
					a(k, l.val(), j);
				});
		g("img." + m).mousemove(function(o) {
					c(m, this.alt, j);
					if (j.half) {
						var n = parseFloat(((o.pageX - g(this).offset().left) / j.size).toFixed(1));
						n = (n >= 0 && n < 0.5) ? 0.5 : 1;
						k.data("score", parseFloat(this.alt) + n - 1);
						b(k, k.data("score"), j);
					} else {
						c(m, this.alt, j);
					}
				}).click(function() {
					l.val(j.half ? k.data("score") : this.alt);
					if (j.click) {
						j.click.apply(k, [l.val()]);
					}
				});
	}
	function e(m, j, i) {
		var k = $global;
		if (j) {
			if (j.indexOf(".") >= 0) {
				var l;
				return g(j).each(function() {
							l = "#" + g(this).attr("id");
							if (i == "start") {
								g.fn.raty.start(m, l);
							} else {
								if (i == "click") {
									g.fn.raty.click(m, l);
								} else {
									if (i == "readOnly") {
										g.fn.raty.readOnly(m, l);
									}
								}
							}
						});
			}
			k = g(j);
			if (!k.length) {
				d('"' + j + '" is a invalid identifier for the public funtion $.fn.raty.' + i + "().");
				return;
			}
		}
		return k;
	}
	function d(i) {
		if (console && console.log) {
			console.log(i);
		}
	}
	function c(j, k, r) {
		var l = g("img." + j).length, q = 0, o = 0, p, m;
		for (var n = 1; n <= l; n++) {
			p = g("img#" + j + "-" + n);
			if (n <= k) {
				if (r.iconRange && r.iconRange.length > q) {
					m = r.iconRange[q][0];
					o = r.iconRange[q][1];
					if (n <= o) {
						p.attr("src", r.path + m);
					}
					if (n == o) {
						q++;
					}
				} else {
					p.attr("src", r.path + r.starOn);
				}
			} else {
				p.attr("src", r.path + r.starOff);
			}
		}
	}
	function h(j, k, i) {
		if (k != 0) {
			k = parseInt(k);
			hint = (k > 0 && i.number <= i.hintList.length && i.hintList[k - 1] !== null) ? i.hintList[k - 1] : k;
		} else {
			hint = i.noRatedMsg;
		}
		g("#" + j.attr("id")).attr("title", hint).children("img").attr("title", hint);
	}
	function a(j, k, i) {
		var l = j.attr("id");
		if (k < 0 || isNaN(k)) {
			k = 0;
		} else {
			if (k > i.number) {
				k = i.number;
			}
		}
		g("input#" + l + "-score").val(k);
		c(l, k, i);
		if (i.half) {
			b(j, k, i);
		}
		if (i.readOnly || j.css("cursor") == "default") {
			h(j, k, i);
		}
	}
	function b(k, m, j) {
		var n = k.attr("id"), i = Math.ceil(m), l = (i - m).toFixed(1);
		if (l >= 0.3 && l <= 0.7) {
			i = i - 0.5;
			g("img#" + n + "-" + Math.ceil(i)).attr("src", j.path + j.starHalf);
		} else {
			if (l >= 0.8) {
				i--;
			} else {
				g("img#" + n + "-" + i).attr("src", j.path + j.starOn);
			}
		}
	}
	g.fn.raty.click = function(l, j) {
		var k = e(l, j, "click"), i = g(j).data("options");
		a(k, l, i);
		if (i.click) {
			i.click.apply(k, [l]);
		} else {
			d('You must add the "click: function(score) { }" callback.');
		}
		return g.fn.raty;
	};
	g.fn.raty.readOnly = function(l, j) {
		var k = e(l, j, "readOnly"), m = k.children("img.button-cancel"), i = g(j).data("options");
		if (m[0]) {
			(l) ? m.hide() : m.show();
		}
		if (l) {
			g("img." + k.attr("id")).unbind();
			k.css("cursor", "default").unbind();
		} else {
			f(k, i);
			k.css("cursor", "pointer");
		}
		return g.fn.raty;
	};
	g.fn.raty.start = function(l, j) {
		var k = e(l, j, "start"), i = g(j).data("options");
		a(k, l, i);
		return g.fn.raty;
	};
	g.fn.raty.defaults = {
		cancel : false,
		cancelHint : "cancel this rating!",
		cancelOff : "cancel-off.gif",
		cancelOn : "cancel-on.gif",
		cancelPlace : "left",
		click : null,
		half : false,
		hintList : ["bad", "poor", "regular", "good", "gorgeous"],
		noRatedMsg : "not rated yet",
		number : 5,
		path : modulesPath + "comment_list/img/",
		iconRange : [],
		readOnly : false,
		scoreName : "score",
		size : 16,
		starHalf : "star-half.gif",
		starOff : "star-off.gif",
		starOn : "star-on.gif",
		start : 0,
		width : null
	};
})(jQuery);
    $.extend(window,{
        commentAdd:function() {
            var f_contentId = getParameterByUrl("id");
            var userName;
            $.post("/cms/sso_getLoginInfo.jsp", "name=loginUser", function(data) {
                userName = data;
                if (userName == null || userName == "null" || userName == undefined) {
                    alert("请登录后再评论！");
                    return;
                }
                if ($.trim($('input[name="f_title"]').val()) == "" || $.trim($('textarea[name="f_text"]').val()) == "") {
                    alert("请填写完整！");
                    return;
                } else {
                    $.post(proxyName + "/Dao_T_Content/getById.fn", "id=" + f_contentId, function(data) {
                        var contentData = JSON.parse(data);
                        $('input[name="f_nodeId"]').val(contentData.f_nodeId);
                        $('input[name="f_nodeIdPath"]').val(contentData.f_nodeIdPath);
                        $('input[name="f_contentId"]').val(f_contentId);
                        $('input[name="f_userName"]').val(userName);
                        var fields = {};
                        var formdata = $('#comment').serializeArray();
                        for (var i = 0; i < formdata.length; i++) {
                            fields[formdata[i]["name"]] = formdata[i]["value"];
                        }
                        $.get('getip.jsp','',function(ip){
                            fields['f_ip'] = ip;
                            var posturl = proxyName + "/Dao_T_Comment/insert.fn";
                            var postdata = "fields=" + encodeURIComponent(JSON.stringify(fields));
                            $.post(posturl, postdata, function(data) {
                                if ($.trim(data) != "") {
                                    $.getJSON('http://sso.shxbe.com/sso/setPoint.jsp?type=addComment&userName=' + userName + '&callback=?');

                                    alert("评论成功！");
                                    parent.location.reload();

                                } else {
                                    alert("评论失败！");
                                }
                            });
                        })

                    });

                }

            });
        }
    });
    if (reloadHtml) {// 是否重新加载内容
        // 加载内容
        var content = '<form id="comment"><input type="hidden" name="f_userName">';
        content = content + '<input type="hidden" name="f_contentId">';
        content = content + '<input type="hidden" name="f_nodeId">';
        content = content + '<input type="hidden" name="f_nodeIdPath">';
        content = content + '<table class="comment_add">';
        content = content + '<tbody>';
        content = content + '<tr>';
        content = content + '<td>标题</td>';
        content = content + '<td><input type="text" name="f_title"></td>';
        content = content + '</tr>';
        content = content + '<tr>';
        content = content + '<td>星级</td>';
        content = content + '<td><div id="f_level"></div><script type="text/javascript">$(function(){$("#f_level").raty({readOnly:false,cancel: true,scoreName : "f_level"});});</script></td>';
        content = content + '</tr>';
        content = content + '<tr>';
        content = content + '<td>内容</td>';
        content = content + '<td><textarea name="f_text" rows="" cols=""></textarea></td>';
        content = content + '</tr>';
        content = content + '<tr>';
        content = content + '<td></td>';
        content = content + '<td align="right"><a href="#" onclick="commentAdd()">提交评论</a></td>';
        content = content + '</tr>';
        content = content + '</tbody>';
        content = content + '</table></form>';
    }
    $(moduleDiv).html(content);
}


function comment_list(moduleDiv, moduleParams, reloadHtml, module) {
    jQuery.fn.pagination = function(maxentries, opts) {
        opts = jQuery.extend({
            items_per_page : 10,
            num_display_entries : 10,
            current_page : 0,
            num_edge_entries : 0,
            link_to : "#",
            prev_text : "上一页",
            next_text : "下一页",
            ellipse_text : "...",
            prev_show_always : true,
            next_show_always : true,
            callback : function() {
                return false;
            }
        }, opts || {});

        return this.each(function() {
            /**
             * 计算最大分页显示数目
             */
            function numPages() {
                return Math.ceil(maxentries / opts.items_per_page);
            }

            /**
             * 极端分页的起始和结束点，这取决于current_page 和 num_display_entries.
             *
             * @返回 {数组(Array)}
             */
            function getInterval() {
                var ne_half = Math.ceil(opts.num_display_entries / 2);
                var np = numPages();
                var upper_limit = np - opts.num_display_entries;
                var start = current_page > ne_half ? Math.max(Math.min(current_page - ne_half, upper_limit), 0) : 0;
                var end = current_page > ne_half ? Math.min(current_page + ne_half, np) : Math.min(opts.num_display_entries, np);
                return [start, end];
            }

            /**
             * 分页链接事件处理函数
             *
             * @参数 {int} page_id 为新页码
             */
            function pageSelected(page_id, evt) {
                current_page = page_id;
                drawLinks();
                var continuePropagation = opts.callback(page_id, panel);
                if (!continuePropagation) {
                    if (evt.stopPropagation) {
                        evt.stopPropagation();
                    } else {
                        evt.cancelBubble = true;
                    }
                }
                return continuePropagation;
            }

            /**
             * 此函数将分页链接插入到容器元素中
             */
            function drawLinks() {
                panel.empty();
                var interval = getInterval();
                var np = numPages();
                // 这个辅助函数返回一个处理函数调用有着正确page_id的pageSelected。
                var getClickHandler = function(page_id) {
                    return function(evt) {
                        return pageSelected(page_id, evt);
                    }
                }
                // 辅助函数用来产生一个单链接(如果不是当前页则产生span标签)
                var appendItem = function(page_id, appendopts) {
                    page_id = page_id < 0 ? 0 : (page_id < np ? page_id : np - 1); // 规范page
                    // id值
                    appendopts = jQuery.extend({
                        text : page_id + 1,
                        classes : ""
                    }, appendopts || {});
                    if (page_id == current_page) {
                        var lnk = jQuery("<span class='current'>" + (appendopts.text) + "</span>");
                    } else {
                        var lnk = jQuery("<a>" + (appendopts.text) + "</a>").bind("click", getClickHandler(page_id)).attr('href', opts.link_to.replace(/__id__/, page_id));
                    }
                    if (appendopts.classes) {
                        lnk.addClass(appendopts.classes);
                    }
                    panel.append(lnk);
                }
                // 产生"Previous"-链接
                if (opts.prev_text && (current_page > 0 || opts.prev_show_always)) {
                    appendItem(current_page - 1, {
                        text : opts.prev_text,
                        classes : "prev"
                    });
                }
                // 产生起始点
                if (interval[0] > 0 && opts.num_edge_entries > 0) {
                    var end = Math.min(opts.num_edge_entries, interval[0]);
                    for (var i = 0; i < end; i++) {
                        appendItem(i);
                    }
                    if (opts.num_edge_entries < interval[0] && opts.ellipse_text) {
                        jQuery("<span>" + opts.ellipse_text + "</span>").appendTo(panel);
                    }
                }
                // 产生内部的些链接
                for (var i = interval[0]; i < interval[1]; i++) {
                    appendItem(i);
                }
                // 产生结束点
                if (interval[1] < np && opts.num_edge_entries > 0) {
                    if (np - opts.num_edge_entries > interval[1] && opts.ellipse_text) {
                        jQuery("<span>" + opts.ellipse_text + "</span>").appendTo(panel);
                    }
                    var begin = Math.max(np - opts.num_edge_entries, interval[1]);
                    for (var i = begin; i < np; i++) {
                        appendItem(i);
                    }

                }
                // 产生 "Next"-链接
                if (opts.next_text && (current_page < np - 1 || opts.next_show_always)) {
                    appendItem(current_page + 1, {
                        text : opts.next_text,
                        classes : "next"
                    });
                }
            }
(function(g) {
	g.fn.raty = function(n) {
		options = g.extend({}, g.fn.raty.defaults, n);
		if (this.length == 0) {
			d("Selector invalid or missing!");
			return;
		} else {
			if (this.length > 1) {
				return this.each(function() {
							g.fn.raty.apply(g(this), [n]);
						});
			}
		}
		if (options.number > 20) {
			options.number = 20;
		} else {
			if (options.number < 0) {
				options.number = 0;
			}
		}
		if (options.path.substring(options.path.length - 1, options.path.length) != "/") {
			options.path += "/";
		}
		$global = g(this);
		$global.data("options", options);
		var k = this.attr("id"), l = 0, s = options.starOn, o = "", m = (options.width) ? options.width : (options.number * options.size + options.number * 4);
		if (k == "") {
			k = "raty-" + $global.index();
			$global.attr("id", k);
		}
		if (!isNaN(options.start) && options.start > 0) {
			l = (options.start > options.number) ? options.number : options.start;
		}
		for (var p = 1; p <= options.number; p++) {
			s = (l >= p) ? options.starOn : options.starOff;
			o = (p <= options.hintList.length && options.hintList[p - 1] !== null) ? options.hintList[p - 1] : p;
			$global.append('<img id="' + k + "-" + p + '" src="' + options.path + s + '" alt="' + p + '" title="' + o + '" class="' + k + '"/>').append((p < options.number) ? "&nbsp;" : "");
		}
		g("<input/>", {
					id : k + "-score",
					type : "hidden",
					name : options.scoreName
				}).appendTo($global).val(l);
		if (options.half) {
			b($global, g("input#" + k + "-score").val(), options);
		}
		if (!options.readOnly) {
			if (options.cancel) {
				var q = g("img." + k), t = '<img src="' + options.path + options.cancelOff + '" alt="x" title="' + options.cancelHint + '" class="button-cancel"/>', j = options, r = $global;
				if (j.cancelPlace == "left") {
					$global.prepend(t + "&nbsp;");
				} else {
					$global.append("&nbsp;").append(t);
				}
				g("#" + k + " img.button-cancel").mouseenter(function() {
							g(this).attr("src", j.path + j.cancelOn);
							q.attr("src", j.path + j.starOff);
						}).mouseleave(function() {
							g(this).attr("src", j.path + j.cancelOff);
							q.mouseout();
						}).click(function() {
							g("input#" + k + "-score").val(0);
							if (j.click) {
								j.click.apply(r, [0]);
							}
						});
				$global.css("width", m + options.size + 4);
			} else {
				$global.css("width", m);
			}
			$global.css("cursor", "pointer");
			f($global, options);
		} else {
			$global.css("cursor", "default");
			h($global, l, options);
		}
		return $global;
	};
	function f(k, j) {
		var m = k.attr("id"), l = g("input#" + m + "-score"), i = g("img." + m).length;
		g("#" + m).mouseleave(function() {
					a(k, l.val(), j);
				});
		g("img." + m).mousemove(function(o) {
					c(m, this.alt, j);
					if (j.half) {
						var n = parseFloat(((o.pageX - g(this).offset().left) / j.size).toFixed(1));
						n = (n >= 0 && n < 0.5) ? 0.5 : 1;
						k.data("score", parseFloat(this.alt) + n - 1);
						b(k, k.data("score"), j);
					} else {
						c(m, this.alt, j);
					}
				}).click(function() {
					l.val(j.half ? k.data("score") : this.alt);
					if (j.click) {
						j.click.apply(k, [l.val()]);
					}
				});
	}
	function e(m, j, i) {
		var k = $global;
		if (j) {
			if (j.indexOf(".") >= 0) {
				var l;
				return g(j).each(function() {
							l = "#" + g(this).attr("id");
							if (i == "start") {
								g.fn.raty.start(m, l);
							} else {
								if (i == "click") {
									g.fn.raty.click(m, l);
								} else {
									if (i == "readOnly") {
										g.fn.raty.readOnly(m, l);
									}
								}
							}
						});
			}
			k = g(j);
			if (!k.length) {
				d('"' + j + '" is a invalid identifier for the public funtion $.fn.raty.' + i + "().");
				return;
			}
		}
		return k;
	}
	function d(i) {
		if (console && console.log) {
			console.log(i);
		}
	}
	function c(j, k, r) {
		var l = g("img." + j).length, q = 0, o = 0, p, m;
		for (var n = 1; n <= l; n++) {
			p = g("img#" + j + "-" + n);
			if (n <= k) {
				if (r.iconRange && r.iconRange.length > q) {
					m = r.iconRange[q][0];
					o = r.iconRange[q][1];
					if (n <= o) {
						p.attr("src", r.path + m);
					}
					if (n == o) {
						q++;
					}
				} else {
					p.attr("src", r.path + r.starOn);
				}
			} else {
				p.attr("src", r.path + r.starOff);
			}
		}
	}
	function h(j, k, i) {
		if (k != 0) {
			k = parseInt(k);
			hint = (k > 0 && i.number <= i.hintList.length && i.hintList[k - 1] !== null) ? i.hintList[k - 1] : k;
		} else {
			hint = i.noRatedMsg;
		}
		g("#" + j.attr("id")).attr("title", hint).children("img").attr("title", hint);
	}
	function a(j, k, i) {
		var l = j.attr("id");
		if (k < 0 || isNaN(k)) {
			k = 0;
		} else {
			if (k > i.number) {
				k = i.number;
			}
		}
		g("input#" + l + "-score").val(k);
		c(l, k, i);
		if (i.half) {
			b(j, k, i);
		}
		if (i.readOnly || j.css("cursor") == "default") {
			h(j, k, i);
		}
	}
	function b(k, m, j) {
		var n = k.attr("id"), i = Math.ceil(m), l = (i - m).toFixed(1);
		if (l >= 0.3 && l <= 0.7) {
			i = i - 0.5;
			g("img#" + n + "-" + Math.ceil(i)).attr("src", j.path + j.starHalf);
		} else {
			if (l >= 0.8) {
				i--;
			} else {
				g("img#" + n + "-" + i).attr("src", j.path + j.starOn);
			}
		}
	}
	g.fn.raty.click = function(l, j) {
		var k = e(l, j, "click"), i = g(j).data("options");
		a(k, l, i);
		if (i.click) {
			i.click.apply(k, [l]);
		} else {
			d('You must add the "click: function(score) { }" callback.');
		}
		return g.fn.raty;
	};
	g.fn.raty.readOnly = function(l, j) {
		var k = e(l, j, "readOnly"), m = k.children("img.button-cancel"), i = g(j).data("options");
		if (m[0]) {
			(l) ? m.hide() : m.show();
		}
		if (l) {
			g("img." + k.attr("id")).unbind();
			k.css("cursor", "default").unbind();
		} else {
			f(k, i);
			k.css("cursor", "pointer");
		}
		return g.fn.raty;
	};
	g.fn.raty.start = function(l, j) {
		var k = e(l, j, "start"), i = g(j).data("options");
		a(k, l, i);
		return g.fn.raty;
	};
	g.fn.raty.defaults = {
		cancel : false,
		cancelHint : "cancel this rating!",
		cancelOff : "cancel-off.gif",
		cancelOn : "cancel-on.gif",
		cancelPlace : "left",
		click : null,
		half : false,
		hintList : ["bad", "poor", "regular", "good", "gorgeous"],
		noRatedMsg : "not rated yet",
		number : 5,
		path : modulesPath + "comment_list/img/",
		iconRange : [],
		readOnly : false,
		scoreName : "score",
		size : 16,
		starHalf : "star-half.gif",
		starOff : "star-off.gif",
		starOn : "star-on.gif",
		start : 0,
		width : null
	};
})(jQuery);
            // 从选项中提取current_page
            var current_page = opts.current_page;
            // 创建一个显示条数和每页显示条数值
            maxentries = (!maxentries || maxentries < 0) ? 1 : maxentries;
            opts.items_per_page = (!opts.items_per_page || opts.items_per_page < 0) ? 1 : opts.items_per_page;
            // 存储DOM元素，以方便从所有的内部结构中获取
            var panel = jQuery(this);
            // 获得附加功能的元素
            this.selectPage = function(page_id) {
                pageSelected(page_id);
            };
            this.prevPage = function() {
                if (current_page > 0) {
                    pageSelected(current_page - 1);
                    return true;
                } else {
                    return false;
                }
            };
            this.nextPage = function() {
                if (current_page < numPages() - 1) {
                    pageSelected(current_page + 1);
                    return true;
                } else {
                    return false;
                }
            };
            // 所有初始化完成，绘制链接
            drawLinks();
            // 回调函数
            opts.callback(current_page, this);
        });
    };
    
    $.extend(window, {

        commentDo:function(type, f_id, thiscontrol) {
            if ($.cookie("comment_" + f_id) == null) {
                $.post("/cms/sso_getLoginInfo.jsp", "name=loginUser", function(data) {
                    if (data == null || data == "null" || data == undefined) {
                        alert("请登录后再评论！");
                        return;
                    }
                    $.getJSON('http://sso.shxbe.com/sso/setPoint.jsp?type=download&userName=' + data + '&callback=?');
                    $.post(proxyName + "/Dao_T_Comment/updateById.fn", encodeURI('fields={"f_' + type + 'Count":' + (parseInt($(thiscontrol).find("span").html()) + 1) + '}&id=' + f_id), function() {
                        $.getJSON(proxyName + '/Dao_T_Comment/getById.fn?id=' + f_id, '', function(cid) {
                            cid = cid['f_contentId'] ;
                            $.get(proxyName + '/Dao_T_Content/getFieldValue.fn?fieldName=f_' + type + 'Count&id=' + cid, '', function(count) {
                                $.post(proxyName + "/Dao_T_Content/updateById.fn", encodeURI('fields={"f_' + type + 'Count":' + (parseInt(count) + 1) + '}&id=' + cid));
                            });

                        });
                        $.cookie("comment_" + f_id, type);

                        $(thiscontrol).parent().parent().find("a").removeAttr("href").removeAttr("onclick");
                        $(thiscontrol).find("span").html(parseInt($(thiscontrol).find("span").html()) + 1);
                    });
                });

            } else {
                $(thiscontrol).parent().parent().find("a").removeAttr("href").removeAttr("onclick");
            }
        }});

    if (reloadHtml) {// 是否重新加载内容
        // 加载内容
        function loadJS(url, callback, charset) {
            var script = document.createElement('script');
            script.onload = script.onreadystatechange = function() {
                if (script && script.readyState && /^(?!(?:loaded|complete)$)/.test(script.readyState))
                    return;
                script.onload = script.onreadystatechange = null;
                script.src = '';
                script.parentNode.removeChild(script);
                script = null;
                if (callback)
                    callback();
            };
            script.charset = charset || document.charset || document.characterSet;
            script.src = url;
            try {
                document.getElementsByTagName("head")[0].appendChild(script);
            } catch (e) {
            }
        }

        loadJS('/jsLib/cookie/jquery.cookie.min.js', function() {
        });
        var contentId = (moduleParams.contentId == "" || moduleParams.contentId == null) ? "" : moduleParams.contentId;
        var id = contentId || getParameterByUrl("id");

        module.find(".more").attr("href", "commentPage.jsp?id=" + id);
        var nodeid = moduleParams.nodeId || getParameterByUrl("id");
        var length = 0;

        var cond = '["f_nodeIdPath like ?","%' + nodeid + '%"]';
        if (id)
            cond = '["f_contentId = ?","' + id + '"]';

        if (moduleParams.isPagination == true) {

            $.post(proxyName + "/Dao_T_Comment/getCountByCase.fn", "whereQuery=" + encodeURI(cond), function(data) {
                length = data == 0 ? 1 : data;
                var content = "<div class='commentlist'>";
                content = content + "</div><div class='pagination'></div>";
                $(moduleDiv).html(content);
                $(moduleDiv).find(".pagination").pagination(length, {
                    items_per_page : moduleParams.pageSize,
                    callback : function(page_index, jq) {
                        $.post(proxyName + "/Dao_T_Comment/getRowsByCase.fn", "whereQuery=" + encodeURI('["f_contentId = ?",' + id + ']') + "&pageSize=" + moduleParams.pageSize + "&pageIndex=" + page_index + "&orderSql=f_createTime desc,f_id desc", function(data) {
                            var tmpdata = JSON.parse(data);
                            var content = "";
                            for (var i = 0; i < tmpdata.length; i++) {
                                if (tmpdata[i].f_ip.length > 0) {
                                    var ldot = tmpdata[i].f_ip.split('.');
                                    var ddd = "";
                                    $.each(ldot, function(i, t) {
                                        if (i != 3)
                                            ddd += t + ".";
                                    }) ;
                                    tmpdata[i].f_ip = ddd + "*"
                                }
                                content = content + '<div class="commentblock"><div>';
                                content = content + '<span class="commentusername" style="float:left">' + tmpdata[i].f_userName + '</span><span class="commentIP" style="float:left;margin-left:10px">' + tmpdata[i].f_ip + '</span><span class="commentcreatetime" style="float:right">' + tmpdata[i].f_createTime + '</span>';
                                content = content + '<div style="clear:both"></div></div>' ;
                                content = content + '<div>';
                                content = content + '<span class="commenttitle" style="float:left"><b>标题</b>：' + tmpdata[i].f_title + '</span><span style="float:right">';
                                content = content + '<div id="f_level_' + i + '"></div><script type="text/javascript">$(function(){$("#f_level_' + i + '").raty({readOnly:true,start:' + tmpdata[i].f_level + '});});</script></span>';
                                content = content + '<div style="clear:both"></div></div>';
                                content = content + '<div class="">' + tmpdata[i].f_text + '</div>';
                                content = content + '<div style="text-align:right"><ul><li style=" float:left"><a href="#" onclick="commentDo(\'good\',' + tmpdata[i].f_id + ',this)">顶一下[<span>' + tmpdata[i].f_goodCount + '</span>]</a>&nbsp;</li><li style=" float:left"><a href="#" onclick="commentDo(\'normal\',' + tmpdata[i].f_id + ',this)">路过[<span>' + tmpdata[i].f_normalCount + '</span>]</a>&nbsp;</li><li style="float:left"><a href="#" onclick="commentDo(\'wrong\',' + tmpdata[i].f_id + ',this)">踩一下[<span>' + tmpdata[i].f_wrongCount + '</span>]</a></li></ul></div>';
                                content = content + '<div style="clear:both"></div></div>';
                            }
                            if (data == "[]") {
                                content = content + "暂无评论！"
                            }
                            $(moduleDiv).find(".commentlist").html(content);
                        });
                    }
                });
            });
        } else {

            $.post(proxyName + "/Dao_T_Comment/getRowsByCase.fn", "whereQuery=" + encodeURI('["f_contentId = ?",' + id + ']') + "&pageSize=" + moduleParams.pageSize + "&pageIndex=" + 0 + "&orderSql=f_createTime desc,f_id desc", function(data) {
                var tmpdata = JSON.parse(data);
                var content = "";
                for (var i = 0; i < tmpdata.length; i++) {
                    if (tmpdata[i].f_ip.length > 0) {
                        var ldot = tmpdata[i].f_ip.split('.');
                        var ddd = "";
                        $.each(ldot, function(i, t) {
                            if (i != 3)
                                ddd += t + ".";
                        }) ;
                        tmpdata[i].f_ip = ddd + "*"
                    }
                    content = content + '<div class="commentblock"><div>';
                    content = content + '<span class="commentusername" style="float:left">' + tmpdata[i].f_userName + '</span><span class="commentIP" style="float:left;margin-left:10px">' + tmpdata[i].f_ip + '</span><span class="commentcreatetime" style="float:right">' + tmpdata[i].f_createTime + '</span>';
                    content = content + '<div style="clear:both"></div></div>';
                    content = content + '<div>';
                    content = content + '<span class="commenttitle" style="float:left"><b>标题</b>：' + tmpdata[i].f_title + '</span><span style="float:right">';
                    content = content + '<div id="f_level_' + i + '"></div><script type="text/javascript">$(function(){$("#f_level_' + i + '").raty({readOnly:true,start:' + tmpdata[i].f_level + '});});</script></span>';
                    content = content + '<div style="clear:both"></div></div>';
                    content = content + '<div class="">' + tmpdata[i].f_text + '</div>';
                    content = content + '<div style="text-align:right"><ul><li style="float:left"><a href="#" onclick="commentDo(\'good\',' + tmpdata[i].f_id + ',this)">顶一下[<span>' + tmpdata[i].f_goodCount + '</span>]</a>&nbsp;</li><li style="float:left"><a href="#" onclick="commentDo(\'normal\',' + tmpdata[i].f_id + ',this)">路过[<span>' + tmpdata[i].f_normalCount + '</span>]</a>&nbsp;</li><li style="float:left"><a href="#" onclick="commentDo(\'wrong\',' + tmpdata[i].f_id + ',this)">踩一下[<span>' + tmpdata[i].f_wrongCount + '</span>]</a></li></ul></div>';
                    content = content + '<div style="clear:both"></div></div>';
                }
                if (data == "[]") {
                    content = content + "暂无评论！"
                }
                $(moduleDiv).find(".commentlist").html(content);
                $(moduleDiv).html(content);
            });
        }
    }
}


/**
 * 评论列表
 *
 * @param moduleDiv
 * @param moduleParams
 * @param reloadHtml
 */
function ask_comment_add(moduleDiv, moduleParams, reloadHtml) {
    $.extend(window,{
         commentAdd:function(type, f_id, thiscontrol) {
	var f_contentId = getParameterByUrl("id");
	var userName;

	$.post("/cms/sso_getLoginInfo.jsp", "name=loginUser", function(data) {
		userName = data;
		if (userName == null || userName == "null" || userName == undefined) {
			alert("请登录后再回答！");
			return;
		}
		if($.trim($('input[name="f_userName"]').val()) == ""||$.trim($('textarea[name="f_text"]').val()) == ""||$.trim($('input[name="f_level"]').val()) == ""){
					alert("请填写完整！");
					return;
				}
		$.post(proxyName + "/Dao_T_Content/getById.fn", "id=" + f_contentId, function(data) {
			var contentData = JSON.parse(data);

			$('input[name="f_nodeId"]').val(contentData.f_nodeId);
			$('input[name="f_nodeIdPath"]').val(contentData.f_nodeIdPath);
			$('input[name="f_contentId"]').val(f_contentId);
			$('input[name="f_userName"]').val(userName);
			var fields = {};
			var formdata = $('#comment').serializeArray();
			for (var i = 0; i < formdata.length; i++) {
				fields[formdata[i]["name"]] = formdata[i]["value"];
			}
			var posturl = proxyName + "/Dao_T_Comment/insert.fn";
			var postdata = "fields=" + encodeURIComponent(JSON.stringify(fields));
			$.post(posturl, postdata, function(data) {
				if ($.trim(data) != "") {
					alert("回答成功！");
                    $.getJSON('http://sso.shxbe.com/sso/setPoint.jsp?type=addComment&userName='+userName+'&callback=?');
					parent.location.reload();
				} else {
					alert("回答失败！");
				}
			});
		});
	});
}
    })  ;
	if (reloadHtml) {// 是否重新加载内容
		// 加载内容
		var content = '<form id="comment"><input type="hidden" name="f_userName">';
		content = content + '<input type="hidden" name="f_contentId">';
		content = content + '<input type="hidden" name="f_nodeId">';
		content = content + '<input type="hidden" name="f_nodeIdPath">';
		content = content + '<table class="comment_add">';
		content = content + '<tbody>';
		content = content + '<tr>';
		content = content + '<td>标题</td>';
		content = content + '<td><input type="text" name="f_title"></td>';
		content = content + '</tr>';
		content = content + '<tr>';
		content = content + '<td>内容</td>';
		content = content + '<td><textarea id="f_text" name="f_text" rows="5" cols="80"></textarea></td>';
		content = content + "</tr>";
		content = content + '<tr>';
		content = content + '<td></td>';
		content = content + '<td align="right"><a href="#" onclick="commentAdd()">提交评论</a></td>';
		content = content + '</tr>';
		content = content + '</tbody>';
		content = content + '</table></form>';
	}
	function loadJS(url, callback, charset) {
		var script = document.createElement('script');
		script.onload = script.onreadystatechange = function() {
			if (script && script.readyState && /^(?!(?:loaded|complete)$)/.test(script.readyState))
				return;
			script.onload = script.onreadystatechange = null;
			script.src = '';
			script.parentNode.removeChild(script);
			script = null;
			if (callback)
				callback();
		};
		script.charset = charset || document.charset || document.characterSet;
		script.src = url;
		try {
			document.getElementsByTagName("head")[0].appendChild(script);
		} catch (e) {
		}
	}
	loadJS('/jsLib/xheditor/xheditor-zh-cn.min.js', function() {
		$('#f_text').xheditor({
			tools : 'simple'
		});
	});
	$(moduleDiv).html(content);
}


/**
 * 评论列表
 *
 * @param moduleDiv
 * @param moduleParams
 * @param reloadHtml
 */
function ask_comment_list(moduleDiv, moduleParams, reloadHtml) {

    $.extend(window,{
         commentDo:function(type, f_id, thiscontrol) {
	if ($.cookie("comment_" + f_id) == null) {
		$.post(proxyName + "/Dao_T_Comment/updateById.fn", encodeURI('fields={"f_' + type + 'Count":' + (parseInt($(thiscontrol).find("span").html()) + 1) + '}&id=' + f_id), function() {
			$.cookie("comment_" + f_id, type);
			$(thiscontrol).parent().parent().find("a").removeAttr("href").removeAttr("onclick");
			$(thiscontrol).find("span").html(parseInt($(thiscontrol).find("span").html()) + 1);
		});
	} else {
		$(thiscontrol).parent().parent().find("a").removeAttr("href").removeAttr("onclick");
	}
}
    }) ;
	if (reloadHtml) {// 是否重新加载内容
		// 加载内容
		var id = getParameterByUrl("id");
		var length = 1;
		function loadJS(url, callback, charset) {
			var script = document.createElement('script');
			script.onload = script.onreadystatechange = function() {
				if (script && script.readyState && /^(?!(?:loaded|complete)$)/.test(script.readyState))
					return;
				script.onload = script.onreadystatechange = null;
				script.src = '';
				script.parentNode.removeChild(script);
				script = null;
				if (callback)
					callback();
			};
			script.charset = charset || document.charset || document.characterSet;
			script.src = url;
			try {
				document.getElementsByTagName("head")[0].appendChild(script);
			} catch (e) {
			}
		}
		loadJS('/jsLib/cookie/jquery.cookie.min.js', function() {});
		$.post(proxyName + "/Dao_T_Comment/getCountByCase.fn", "whereQuery=" + encodeURI('["f_contentId = ?",' + id + ']'), function(data) {
			length = data==0?1:data;
			$.post(proxyName + "/Dao_T_Comment/getRowsByCase.fn", "whereQuery=" + encodeURI('["f_contentId = ?",' + id + ']') + "&pageSize=" + 10 + "&pageIndex=" + 0 + "&orderSql=f_createTime desc,f_id desc", function(data) {
				var tmpdata = JSON.parse(data);
				var content = "<div class='pagination'></div><div class='commentlist'>";

				content = content + "</div><div class='pagination'></div>";
				$(moduleDiv).html(content);
				$(moduleDiv).find(".pagination").pagination(length, {
					items_per_page : 10,
					callback : function(page_index, jq) {
						$.post(proxyName + "/Dao_T_Comment/getRowsByCase.fn", "whereQuery=" + encodeURI('["f_contentId = ?",' + id + ']') + "&pageSize=" + 10 + "&pageIndex=" + page_index + "&orderSql=f_createTime desc,f_id desc", function(data) {
							var tmpdata = JSON.parse(data);
							var content = "";
							if (page_index == 0) {
								$.post(proxyName + "/Dao_T_Content/getById.fn", "id=" + id, function(contentData) {
									var cData = JSON.parse(contentData);
									content = content + '<div class="commentblock"><div>';
									content = content + '<span class="commentusername" style="float:left">提问人：' + cData.f_createUser + '</span><span class="commentIP" style="float:left"></span><span class="commentcreatetime" style="float:right">' + cData.f_createTime + '</span>';
									content = content + '<div style="clear:both"></div></div>';
									content = content + '<div>';
									content = content + '<span class="commenttitle" style="float:left"><b>标题</b>：' + cData.f_title + '</span>';
									content = content + '<div style="clear:both"></div></div>';
									content = content + '<div class="">' + cData.f_text + '</div>';
									content = content + '<div style="clear:both"></div></div>';

									for (var i = 0; i < tmpdata.length; i++) {
										content = content + '<div class="commentblock"><div>';
										content = content + '<span class="commentusername" style="float:left">回答人：' + tmpdata[i].f_userName + '</span><span class="commentIP" style="float:left">' + tmpdata[i].f_ip + '</span><span class="commentcreatetime" style="float:right">' + tmpdata[i].f_createTime + '</span>';
										content = content + '<div style="clear:both"></div></div>';
										content = content + '<div>';
										content = content + '<span class="commenttitle" style="float:left"><b>标题</b>：' + tmpdata[i].f_title + '</span>';
										content = content + '<div style="clear:both"></div></div>';
										content = content + '<div class="">' + tmpdata[i].f_text + '</div>';
										content = content + '<div style="text-align:right" class="yn" ><ul><li><a href="#" onclick="commentDo(\'good\',' + tmpdata[i].f_id + ',this)">赞成[<span>' + tmpdata[i].f_goodCount + '</span>]</a></li><li><a href="#" onclick="commentDo(\'wrong\',' + tmpdata[i].f_id + ',this)">反对[<span>' + tmpdata[i].f_wrongCount + '</span>]</a></li></ul></div>';
										content = content + '<div style="clear:both"></div></div>';
									}
									$(moduleDiv).find(".commentlist").html(content);
								});
							} else {
								for (var i = 0; i < tmpdata.length; i++) {
									content = content + '<div class="commentblock"><div>';
									content = content + '<span class="commentusername" style="float:left">回答人' + tmpdata[i].f_userName + '</span><span class="commentIP" style="float:left">' + tmpdata[i].f_ip + '</span><span class="commentcreatetime" style="float:right">' + tmpdata[i].f_createTime + '</span>';
									content = content + '<div style="clear:both"></div></div>';
									content = content + '<div>';
									content = content + '<span class="commenttitle" style="float:left"><b>标题</b>：' + tmpdata[i].f_title + '</span>';
									content = content + '<div style="clear:both"></div></div>';
									content = content + '<div class="">' + tmpdata[i].f_text + '</div>';
									content = content + '<div style="text-align:right" class="yn" ><ul><li><a href="#" onclick="commentDo(\'good\',' + tmpdata[i].f_id + ',this)">赞成[<span>' + tmpdata[i].f_goodCount + '</span>]</a></li><li><a href="#" onclick="commentDo(\'wrong\',' + tmpdata[i].f_id + ',this)">反对[<span>' + tmpdata[i].f_wrongCount + '</span>]</a></li></ul></div>';
									content = content + '<div style="clear:both"></div></div>';
								}
								$(moduleDiv).find(".commentlist").html(content);
							}
						});
					}
				});

			});
		});
	}
}



/**
 * 评论列表
 *
 * @param moduleDiv
 * @param moduleParams
 * @param reloadHtml
 */
function ask_content_add(moduleDiv, moduleParams, reloadHtml) {
    $.extend(window,{
         contentAdd:function(type, f_id, thiscontrol) {
	var nodeId = getParameterByUrl("id");
	var userName;
	$.post("/cms/sso_getLoginInfo.jsp", "name=loginUser", function(data) {
		userName = data;
		if (userName == null || userName == "null" || userName == undefined) {
			alert("请登录后再评论！");
			return;
		}
		if($.trim($('input[name="f_title"]').val()) == ""||$.trim($('textarea[name="f_text"]').val()) == ""){
					alert("请填写完整！");
					return;
				}
		$.post(proxyName + "/Dao_T_Node/getById.fn", "id=" + nodeId, function(data) {
			var nodeData = JSON.parse(data);
			$('input[name="f_nodeId"]').val(nodeData.f_id);
			$('input[name="f_nodeIdPath"]').val(nodeData.f_idPath);
			$('input[name="f_createUser"]').val(userName);
			var fields = {};
			var formdata = $('#comment').serializeArray();
			for (var i = 0; i < formdata.length; i++) {
				fields[formdata[i]["name"]] = formdata[i]["value"];
			}
			var posturl = proxyName + "/Dao_T_Content/insert.fn";
			var postdata = "fields=" + encodeURIComponent(JSON.stringify(fields));
			$.post(posturl, postdata, function(data) {
				if ($.trim(data) != "") {
					alert("提问成功！");
                    $.getJSON('http://sso.shxbe.com/sso/setPoint.jsp?type=addContent&userName='+userName+'&callback=?');
                    					parent.location.reload();
				} else {
					alert("提问失败！");
				}
			});
		});
	});
}
    });
	if (reloadHtml) {// 是否重新加载内容
		// 加载内容
		var content = '<form id="comment"><input type="hidden" name="f_createUser">';
		content = content + '<input type="hidden" name="f_nodeIdPath">';
		content = content + '<input type="hidden" name="f_nodeId">';
		content = content + '<table class="content_add">';
		content = content + '<tbody>';
		content = content + '<tr>';
		content = content + '<td>标题</td>';
		content = content + '<td><input type="text" name="f_title"></td>';
		content = content + '</tr>';
		content = content + '<tr>';
		content = content + '<td>内容</td>';
		content = content + '<td><textarea id="f_text" name="f_text" rows="10" cols=""></textarea></td>';
		content = content + "</tr>";
		content = content + '<tr>';
		content = content + '<td></td>';
		content = content + '<td align="right"><a href="javascript:contentAdd()">提交问题</a></td>';
		content = content + '</tr>';
		content = content + '</tbody>';
		content = content + '</table></form>';
	}
	$(moduleDiv).html(content);
	function loadJS(url, callback, charset) {
		var script = document.createElement('script');
		script.onload = script.onreadystatechange = function() {
			if (script && script.readyState && /^(?!(?:loaded|complete)$)/.test(script.readyState))
				return;
			script.onload = script.onreadystatechange = null;
			script.src = '';
			script.parentNode.removeChild(script);
			script = null;
			if (callback)
				callback();
		};
		script.charset = charset || document.charset || document.characterSet;
		script.src = url;
		try {
			document.getElementsByTagName("head")[0].appendChild(script);
		} catch (e) {
		}
	}
	loadJS('/jsLib/xheditor/xheditor-zh-cn.min.js', function() {
		$('#f_text').xheditor({
			tools : 'simple'
		});
	});
}




function ask_content_list(moduleDiv, moduleParams, reloadHtml) {
    $.PaginationCalculator = function(maxentries, opts) {
		this.maxentries = maxentries;
		this.opts = opts;
	};
	$.extend($.PaginationCalculator.prototype, {
		numPages : function() {
			return Math.ceil(this.maxentries / this.opts.items_per_page);
		},
		getInterval : function(current_page) {
			var ne_half = Math.floor(this.opts.num_display_entries / 2);
			var np = this.numPages();
			var upper_limit = np - this.opts.num_display_entries;
			var start = current_page > ne_half ? Math.max(Math.min(current_page - ne_half, upper_limit), 0) : 0;
			var end = current_page > ne_half ? Math.min(current_page + ne_half + (this.opts.num_display_entries % 2), np) : Math.min(this.opts.num_display_entries, np);
			return {
				start : start,
				end : end
			};
		}
	});
	$.PaginationRenderers = {};
	$.PaginationRenderers.defaultRenderer = function(maxentries, opts) {
		this.maxentries = maxentries;
		this.opts = opts;
		this.pc = new $.PaginationCalculator(maxentries, opts);
	};
	$.extend($.PaginationRenderers.defaultRenderer.prototype, {
		createLink : function(page_id, current_page, appendopts) {
			var lnk, np = this.pc.numPages();
			page_id = page_id < 0 ? 0 : (page_id < np ? page_id : np - 1);
			appendopts = $.extend({
				text : page_id + 1,
				classes : ""
			}, appendopts || {});
			if (page_id == current_page) {
				lnk = $("<span class='current'>" + appendopts.text + "</span>");
			} else {
				lnk = $("<a>" + appendopts.text + "</a>").attr('href', this.opts.link_to.replace(/__id__/, page_id));
			}
			if (appendopts.classes) {
				lnk.addClass(appendopts.classes);
			}
			lnk.data('page_id', page_id);
			return lnk;
		},
		appendRange : function(container, current_page, start, end, opts) {
			var i;
			for (i = start; i < end; i++) {
				this.createLink(i, current_page, opts).appendTo(container);
			}
		},
		getLinks : function(current_page, eventHandler) {
			var begin, end, interval = this.pc.getInterval(current_page), np = this.pc.numPages(), fragment = $("<div class='pagination'></div>");
			if (this.opts.prev_text && (current_page > 0 || this.opts.prev_show_always)) {
				fragment.append(this.createLink(current_page - 1, current_page, {
					text : this.opts.prev_text,
					classes : "prev"
				}));
			}
			if (interval.start > 0 && this.opts.num_edge_entries > 0) {
				end = Math.min(this.opts.num_edge_entries, interval.start);
				this.appendRange(fragment, current_page, 0, end, {
					classes : 'sp'
				});
				if (this.opts.num_edge_entries < interval.start && this.opts.ellipse_text) {
					jQuery("<span>" + this.opts.ellipse_text + "</span>").appendTo(fragment);
				}
			}
			this.appendRange(fragment, current_page, interval.start, interval.end);
			if (interval.end < np && this.opts.num_edge_entries > 0) {
				if (np - this.opts.num_edge_entries > interval.end && this.opts.ellipse_text) {
					jQuery("<span>" + this.opts.ellipse_text + "</span>").appendTo(fragment);
				}
				begin = Math.max(np - this.opts.num_edge_entries, interval.end);
				this.appendRange(fragment, current_page, begin, np, {
					classes : 'ep'
				});

			}
			if (this.opts.next_text && (current_page < np - 1 || this.opts.next_show_always)) {
				fragment.append(this.createLink(current_page + 1, current_page, {
					text : this.opts.next_text,
					classes : "next"
				}));
			}
			$('a', fragment).click(eventHandler);
			return fragment;
		}
	});
	$.fn.pagination = function(maxentries, opts) {
		opts = jQuery.extend({
			items_per_page : 10,
			num_display_entries : 11,
			current_page : 0,
			num_edge_entries : 0,
			link_to : "#",
			prev_text : "上一页",
			next_text : "下一页",
			ellipse_text : "...",
			prev_show_always : true,
			next_show_always : true,
			renderer : "defaultRenderer",
			callback : function() {
				return false;
			}
		}, opts || {});

		var containers = this, renderer, links, current_page;
		function paginationClickHandler(evt) {
			var links, new_current_page = $(evt.target).data('page_id'), continuePropagation = selectPage(new_current_page);
			if (!continuePropagation) {
				evt.stopPropagation();
			}
			return continuePropagation;
		}
		function selectPage(new_current_page) {
			containers.data('current_page', new_current_page);
			links = renderer.getLinks(new_current_page, paginationClickHandler);
			containers.empty();
			links.appendTo(containers);
			var continuePropagation = opts.callback(new_current_page, containers);
			return continuePropagation;
		}
		current_page = opts.current_page;
		containers.data('current_page', current_page);
		maxentries = (!maxentries || maxentries < 0) ? 1 : maxentries;
		opts.items_per_page = (!opts.items_per_page || opts.items_per_page < 0) ? 1 : opts.items_per_page;

		if (!$.PaginationRenderers[opts.renderer]) {
			throw new ReferenceError("Pagination renderer '" + opts.renderer + "' was not found in jQuery.PaginationRenderers object.");
		}
		renderer = new $.PaginationRenderers[opts.renderer](maxentries, opts);
		var pc = new $.PaginationCalculator(maxentries, opts);
		var np = pc.numPages();
		containers.bind('setPage', {
			numPages : np
		}, function(evt, page_id) {
			if (page_id >= 0 && page_id < evt.data.numPages) {
				selectPage(page_id);
				return false;
			}
		});
		containers.bind('prevPage', function(evt) {
			var current_page = $(this).data('current_page');
			if (current_page > 0) {
				selectPage(current_page - 1);
			}
			return false;
		});
		containers.bind('nextPage', {
			numPages : np
		}, function(evt) {
			var current_page = $(this).data('current_page');
			if (current_page < evt.data.numPages - 1) {
				selectPage(current_page + 1);
			}
			return false;
		});
		links = renderer.getLinks(current_page, paginationClickHandler);
		containers.empty();
		links.appendTo(containers);
		opts.callback(current_page, containers);
	};
	if (reloadHtml) {// 是否重新加载内容
		// 加载内容
		var id = 50;
		var length = 0;
		function getlast(tmptd, tmptr, tmpid) {
			$.get(proxyName + "/Dao_T_Comment/getRowsByCase.fn", "whereQuery=" + encodeURI('["f_contentId = ?",' + tmpid + ']') + "&pageSize=20&orderSql=f_id desc", function(d) {
				var commentdata = JSON.parse(d);
				if (commentdata.length != 0) {
					tmptd.html(commentdata[0].f_title + "<br/>" + commentdata[0].f_userName);
				}
				tmptr.append(tmptd);
			});
		}
		$.post(proxyName + "/Dao_T_Content/getCountByCase.fn", "whereQuery=" + encodeURI('["f_nodeId = ?",' + id + ']'), function(data) {
			length = data == 0 ? 1 : data;
			var content = "<div class='pagination'></div><table class='bbscontenttitle' cellpadding='0' cellspacing='0'>";
			content = content + "<thead><tr><th class='title'>提问人</th><th class='anthor'>作者</th><th class='count'>回答数</th><th class='last'>最后发表</th></tr></thead><tbody class='bbscontentlist'>";
			content = content + "</tbody></table><div class='pagination'></div>";
			$(moduleDiv).html(content);
			$(moduleDiv).find(".pagination").pagination(length, {
				items_per_page : 10,
				callback : function(page_index, jq) {
					$.post(proxyName + "/Dao_T_Content/getRowsByCase.fn", "whereQuery=" + encodeURI('["f_nodeId = ?",' + id + ']') + "&pageSize=10&pageIndex=" + page_index + "&orderSql=f_order asc,f_createTime desc", function(data) {
						var tmpdata = JSON.parse(data);
						var content = "";
						bbsContentList = $(moduleDiv).find(".bbscontentlist");
						bbsContentList.html("");
						for (var i = 0; i < tmpdata.length; i++) {
							var tr = $("<tr/>");
							tmp = "<td><a href='contentPage.jsp?id=" + tmpdata[i].f_id + "'>" + tmpdata[i].f_title + "</a></td>";
							tmp = tmp + "<td align='center'>" + tmpdata[i].f_createUser + "<br/>" + tmpdata[i].f_createTime + "</td>";
							tmp = tmp + "<td align='center'>" + tmpdata[i].f_commentCount + "</td>";
							tr.append(tmp);
							var td = $("<td/>");
							bbsContentList.append(tr);
							getlast(td, tr, tmpdata[i].f_id);
						}
					});
				}

			});
		});
	}
}


function ask_node_list(moduleDiv, moduleParams, reloadHtml) {
	if (reloadHtml) {// 是否重新加载内容
		// 加载内容
		var id = getParameterByUrl("id");
		var length = 0;
		function getLast(tmpul, tmpli, n) {
			$.get(proxyName + "/Dao_T_Content/getRowsByCase.fn", "whereQuery=" + encodeURI('["f_nodeId = ?",' + n.f_id + ']') + "&pageSize=1&orderSql=f_id desc", function(d) {
				var contentdata = JSON.parse(d);
				if (d != "") {
					tmpli.html('<li><a href="contentPage.jsp?id=' + contentdata[0].f_id + '">' + contentdata[0].f_title + '<a/>&nbsp;' + contentdata[0].f_createTime + '&nbsp;' + contentdata[0].f_createUser + '</li>');
				}
				tmpul.append(tmpli);
			})
		}
		$.post(proxyName + "/Dao_T_Node/getRowsByCase.fn", "whereQuery=" + encodeURI('["f_parentId = ?",' + id + ']') + "&orderSql=f_order asc", function(data) {
			var tmpdata = JSON.parse(data);
			$(moduleDiv).html('<ul class="bbsnodelist"></ul>');
			var bbsnodelist = $(moduleDiv).find("ul");
			$.each(tmpdata, function(i, n) {
				var b1 = $('<li class="bbsnodeblock"><img style="margin-right:10px;" class="bbsnodebanner" src="' + n.f_banner + '" align="left"/><div></div></li>');
				bbsnodelist.append(b1);
				var ul = $("<ul/>").addClass("bbsNode");
				ul.append('<li><a href="nodePage.jsp?id=' + n.f_id + '">' + n.f_name + '<a/></li><li>主题：' + n.f_contentCount + ',总数：' + n.f_commentCount + '</li>');
				var li = $("<li/>");
				b1.find("div").append(ul);
				getLast(ul, li, n);

			});
		});
	}
}


/**
 * 评论列表
 *
 * @param moduleDiv
 * @param moduleParams
 * @param reloadHtml
 */
function bbs_comment_add(moduleDiv, moduleParams, reloadHtml) {
    $.extend(window,{
         commentAdd:function(type, f_id, thiscontrol) {
	var f_contentId = getParameterByUrl("id");
	var userName;

	$.post("/cms/sso_getLoginInfo.jsp", "name=loginUser", function(data) {
		userName = data;
		if (userName == null || userName == "null" || userName == undefined) {
			alert("请登录后再评论！");
			return;
		}
		if($.trim($('input[name="f_title"]').val()) == ""||$.trim($('textarea[name="f_text"]').val()) == ""){
					alert("请填写完整！");
					return;
				}
		$.post(proxyName + "/Dao_T_Content/getById.fn", "id=" + f_contentId, function(data) {
			var contentData = JSON.parse(data);

			$('input[name="f_nodeId"]').val(contentData.f_nodeId);
			$('input[name="f_nodeIdPath"]').val(contentData.f_nodeIdPath);
			$('input[name="f_contentId"]').val(f_contentId);
			$('input[name="f_userName"]').val(userName);
			var fields = {};
			var formdata = $('#comment').serializeArray();
			for (var i = 0; i < formdata.length; i++) {
				fields[formdata[i]["name"]] = formdata[i]["value"];
			}
			var posturl = proxyName + "/Dao_T_Comment/insert.fn";
			var postdata = "fields=" + encodeURIComponent(JSON.stringify(fields));
			$.post(posturl, postdata, function(data) {
				if ($.trim(data) != "") {
					alert("评论成功！");
                    $.getJSON('http://sso.shxbe.com/sso/setPoint.jsp?type=addComment&userName='+userName+'&callback=?');
                    parent.location.reload();
				} else {
					alert("评论失败！");
				}
			});
		});
	});
}
    }) ;
	if (reloadHtml) {// 是否重新加载内容
		// 加载内容
		var content = '<form id="comment"><input type="hidden" name="f_userName">';
		content = content + '<input type="hidden" name="f_contentId">';
		content = content + '<input type="hidden" name="f_nodeId">';
		content = content + '<input type="hidden" name="f_nodeIdPath">';
		content = content + '<table class="comment_add">';
		content = content + '<tbody>';
		content = content + '<tr>';
		content = content + '<td>标题</td>';
		content = content + '<td><input type="text" name="f_title"></td>';
		content = content + '</tr>';
		content = content + '<tr>';
		content = content + '<td>内容</td>';
		content = content + '<td><textarea id="f_text" name="f_text" rows="5" cols="80"></textarea></td>';
		content = content + "</tr>";
		content = content + '<tr>';
		content = content + '<td></td>';
		content = content + '<td align="right"><a href="#" onclick="commentAdd()">提交评论</a></td>';
		content = content + '</tr>';
		content = content + '</tbody>';
		content = content + '</table></form>';
	}
	function loadJS(url, callback, charset) {
		var script = document.createElement('script');
		script.onload = script.onreadystatechange = function() {
			if (script && script.readyState && /^(?!(?:loaded|complete)$)/.test(script.readyState))
				return;
			script.onload = script.onreadystatechange = null;
			script.src = '';
			script.parentNode.removeChild(script);
			script = null;
			if (callback)
				callback();
		};
		script.charset = charset || document.charset || document.characterSet;
		script.src = url;
		try {
			document.getElementsByTagName("head")[0].appendChild(script);
		} catch (e) {
		}
	}
	loadJS('/jsLib/xheditor/xheditor-zh-cn.min.js', function() {
		$('#f_text').xheditor({
			tools : 'simple'
		});
	});
	$(moduleDiv).html(content);
}

function bbs_comment_list(moduleDiv, moduleParams, reloadHtml) {

    $.extend(window,{
         getUserItem:function(userName, userItem) {
	$.post("/userData/myapp.userdata.dao/Dao_T_User/getRowsByField.fn", "fieldName=f_userName&fieldValue=" + userName, function(data) {
		userInfo = JSON.parse(data)[0];
		var userInfoBlcok = "<ul><li>" + ($.trim(userInfo.f_nickName) == "" ? userName : userInfo.f_nickName) + "</li><li><img src=\"" + userInfo.f_face + "\"/></li><li>注册时间：" + userInfo.f_createTime + "</li></ul>";
		$(userItem).html(userInfoBlcok);
	})
}, commentDo:function(type, f_id, thiscontrol) {
	if ($.cookie("comment_" + f_id) == null) {
		$.post(proxyName + "/Dao_T_Comment/updateById.fn", encodeURI('fields={"f_' + type + 'Count":' + (parseInt($(thiscontrol).find("span").html()) + 1) + '}&id=' + f_id), function() {
			$.cookie("comment_" + f_id, type);
			$(thiscontrol).parent().parent().find("a").removeAttr("href").removeAttr("onclick");
			$(thiscontrol).find("span").html(parseInt($(thiscontrol).find("span").html()) + 1);
		});
	} else {
		$(thiscontrol).parent().parent().find("a").removeAttr("href").removeAttr("onclick");
	}
}
    }) ;
	if (reloadHtml) {// 是否重新加载内容
		// 加载内容
		var id = getParameterByUrl("id");
		var length = 1;
		function loadJS(url, callback, charset) {
			var script = document.createElement('script');
			script.onload = script.onreadystatechange = function() {
				if (script && script.readyState && /^(?!(?:loaded|complete)$)/.test(script.readyState))
					return;
				script.onload = script.onreadystatechange = null;
				script.src = '';
				script.parentNode.removeChild(script);
				script = null;
				if (callback)
					callback();
			};
			script.charset = charset || document.charset || document.characterSet;
			script.src = url;
			try {
				document.getElementsByTagName("head")[0].appendChild(script);
			} catch (e) {
			}
		}
		loadJS('/jsLib/cookie/jquery.cookie.min.js', function() {
		});
		$.post(proxyName + "/Dao_T_Comment/getCountByCase.fn", "whereQuery=" + encodeURI('["f_contentId = ?",' + id + ']'), function(data) {
			length = data == 0 ? 1 : data;
			var content = "<div class='pagination'></div><div class='commentlist'>";
			content = content + "</div><div class='pagination'></div>";
			$(moduleDiv).html(content);
			$(moduleDiv).find(".pagination").pagination(length, {
				items_per_page : 10,
				callback : function(page_index, jq) {
					$.post(proxyName + "/Dao_T_Comment/getRowsByCase.fn", "whereQuery=" + encodeURI('["f_contentId = ?",' + id + ']') + "&pageSize=" + 10 + "&pageIndex=" + page_index + "&orderSql=f_createTime desc,f_id desc", function(data) {
						var tmpdata = JSON.parse(data);
						var content = "";
						if (page_index == 0) {
							$.post(proxyName + "/Dao_T_Content/getById.fn", "id=" + id, function(contentData) {
								var cData = JSON.parse(contentData);
								var commentBlock = $('<div class="comment"><div class="user-info" style="width:150px;float:left"></div><div style="float:right;width:750px;"><div><span class="commentcreatetime" style="float:right">' + cData.f_createTime + '</span></div><div><span class="commenttitle" style="float:left"><b>标题</b>：' + cData.f_title + '</span><div style="clear:both"></div></div><div class="">' + cData.f_text + '</div><div style="clear:both"></div></div><div style="clear:both"></div></div>');
								$(moduleDiv).find(".commentlist").append(commentBlock);
								getUserItem(cData.f_createUser, commentBlock.find(".user-info"));
								for (var i = 0; i < tmpdata.length; i++) {
									var commentBlock = $('<div class="comment"><div class="user-info" style="width:150px;float:left"></div><div style="float:right;width:750px;"><div><span class="commentusername" style="float:left">发帖人：' + tmpdata[i].f_userName + '</span><span class="commentIP" style="float:left">' + tmpdata[i].f_ip + '</span><span class="commentcreatetime" style="float:right">' + tmpdata[i].f_createTime + '</span><div style="clear:both"></div></div><div><span class="commenttitle" style="float:left"><b>标题</b>：' + tmpdata[i].f_title + '</span><div style="clear:both"></div></div><div class="">' + tmpdata[i].f_text + '</div><div class="yn" style="text-align:right"><ul><li><a href="#" onclick="commentDo(\'good\',' + tmpdata[i].f_id + ',this)">赞成[<span>' + tmpdata[i].f_goodCount + '</span>]</a></li><li><a href="#" onclick="commentDo(\'wrong\',' + tmpdata[i].f_id + ',this)">反对[<span>' + tmpdata[i].f_wrongCount + '</span>]</a></li></ul></div><div style="clear:both"></div></div><div style="clear:both"></div></div>');
									$(moduleDiv).find(".commentlist").append(commentBlock);
									getUserItem(cData.f_createUser, commentBlock.find(".user-info"));
								}
							});
						} else {
							for (var i = 0; i < tmpdata.length; i++) {
								var commentBlock = $('<div class="comment"><div class="user-info" style="width:150px;float:left"></div><div style="float:right;width:750px;"><div><span class="commentusername" style="float:left">发帖人：' + tmpdata[i].f_userName + '</span><span class="commentIP" style="float:left">' + tmpdata[i].f_ip + '</span><span class="commentcreatetime" style="float:right">' + tmpdata[i].f_createTime + '</span><div style="clear:both"></div></div><div><span class="commenttitle" style="float:left"><b>标题</b>：' + tmpdata[i].f_title + '</span><div style="clear:both"></div></div><div class="">' + tmpdata[i].f_text + '</div><div class="yn" style="text-align:right"><ul><li><a href="#" onclick="commentDo(\'good\',' + tmpdata[i].f_id + ',this)">赞成[<span>' + tmpdata[i].f_goodCount + '</span>]</a></li><li><a href="#" onclick="commentDo(\'wrong\',' + tmpdata[i].f_id + ',this)">反对[<span>' + tmpdata[i].f_wrongCount + '</span>]</a></li></ul></div><div style="clear:both"></div></div><div style="clear:both"></div></div>');
								$(moduleDiv).find(".commentlist").append(commentBlock);
								getUserItem(cData.f_createUser, commentBlock.find(".user-info"));
							}
						}
					});
				}
			});
		});
	}
}



/**
 * 评论列表
 *
 * @param moduleDiv
 * @param moduleParams
 * @param reloadHtml
 */
function bbs_content_add(moduleDiv, moduleParams, reloadHtml) {
    $.extend(window,{
         contentAdd:function(type, f_id, thiscontrol) {
	var nodeId = getParameterByUrl("id");
	var userName;
	$.post("/cms/sso_getLoginInfo.jsp", "name=loginUser", function(data) {
		userName = data;
		if (userName == null || userName == "null" || userName == undefined) {
			alert("请登录后再评论！");
			return;
		}
		if ($.trim($('input[name="f_title"]').val()) == "" || $.trim($('textarea[name="f_text"]').val()) == "") {
			alert("请填写完整！");
			return;
		}
		$.post(proxyName + "/Dao_T_Node/getById.fn", "id=" + nodeId, function(data) {
			var nodeData = JSON.parse(data);
			$('input[name="f_nodeId"]').val(nodeData.f_id);
			$('input[name="f_nodeIdPath"]').val(nodeData.f_idPath);
			$('input[name="f_createUser"]').val(userName);
			var fields = {};
			var formdata = $('#comment').serializeArray();
			for (var i = 0; i < formdata.length; i++) {
				fields[formdata[i]["name"]] = formdata[i]["value"];
			}
			var posturl = proxyName + "/Dao_T_Content/insert.fn";
			var postdata = "fields=" + encodeURIComponent(JSON.stringify(fields));
			$.post(posturl, postdata, function(data) {
				if ($.trim(data) != "") {
					alert("发帖成功！");
                    $.getJSON('http://sso.shxbe.com/sso/setPoint.jsp?type=addContent&userName='+userName+'&callback=?');

					parent.location.reload();
				} else {
					alert("发帖失败！");
				}
			});
		});
	});
}
    });
	if (reloadHtml) {// 是否重新加载内容
		// 加载内容
		var content = '<form id="comment"><input type="hidden" name="f_createUser">';
		content = content + '<input type="hidden" name="f_nodeIdPath">';
		content = content + '<input type="hidden" name="f_nodeId">';
		content = content + '<table class="content_add">';
		content = content + '<tbody>';
		content = content + '<tr>';
		content = content + '<td width="80">标题</td>';
		content = content + '<td><input type="text" name="f_title"></td>';
		content = content + '</tr>';
		content = content + '<tr>';
		content = content + '<td>内容</td>';
		content = content + '<td><textarea id="f_text" name="f_text" rows="10" cols=""></textarea></td>';
		content = content + "</tr>";
		content = content + '<tr>';
		content = content + '<td></td>';
		content = content + '<td align="right"><a href="javascript:contentAdd()">提交帖子</a></td>';
		content = content + '</tr>';
		content = content + '</tbody>';
		content = content + '</table></form>';
	}
	$(moduleDiv).html(content);
	function loadJS(url, callback, charset) {
		var script = document.createElement('script');
		script.onload = script.onreadystatechange = function() {
			if (script && script.readyState && /^(?!(?:loaded|complete)$)/.test(script.readyState))
				return;
			script.onload = script.onreadystatechange = null;
			script.src = '';
			script.parentNode.removeChild(script);
			script = null;
			if (callback)
				callback();
		};
		script.charset = charset || document.charset || document.characterSet;
		script.src = url;
		try {
			document.getElementsByTagName("head")[0].appendChild(script);
		} catch (e) {
		}
	}
	loadJS('/jsLib/xheditor/xheditor-zh-cn.min.js', function() {
		$('#f_text').xheditor({
			tools : 'simple'
		});
	});
}


function bbs_content_list(moduleDiv, moduleParams, reloadHtml) {
	if (reloadHtml) {// 是否重新加载内容
		// 加载内容
		var id = getParameterByUrl("id");
		var length = 0;
		function getlast(tmptd,tmptr,tmpid) {
			$.get(proxyName + "/Dao_T_Comment/getRowsByCase.fn","whereQuery=" + encodeURI('["f_contentId = ?",' + tmpid + ']') + "&pageSize=" + moduleParams.pageSize + "&orderSql=f_id desc",
				 function(d) {
					var commentdata = JSON.parse(d);
					if (commentdata.length != 0) {
						tmptd.html(commentdata[0].f_title + "<br/>" + commentdata[0].f_userName);
					}
					tmptr.append(tmptd);
				}
			);
		}
		$.post(proxyName + "/Dao_T_Content/getCountByCase.fn", "whereQuery=" + encodeURI('["f_nodeId = ?",' + id + ']'), function(data) {
			length = data == 0 ? 1 : data;
			var content = "<div class='pagination'></div><table class='bbscontenttitle' cellpadding='0' cellspacing='0'>";
			content = content + "<thead><tr><th class='title'>主题</th><th class='anthor'>作者</th><th class='count'>回复数</th><th class='last'>最后发表</th></tr></thead><tbody class='bbscontentlist'>";
			content = content + "</tbody></table><div class='pagination'></div>";
			$(moduleDiv).html(content);
			$(moduleDiv).find(".pagination").pagination(length, {
				items_per_page : 10,
				callback : function(page_index, jq) {
					$.post(proxyName + "/Dao_T_Content/getRowsByCase.fn", "whereQuery=" + encodeURI('["f_nodeId = ?",' + id + ']') + "&pageSize=10&pageIndex=" + page_index + "&orderSql=f_order asc,f_createTime desc", function(data) {
						var tmpdata = JSON.parse(data);
						var content = "";
						bbsContentList = $(moduleDiv).find(".bbscontentlist");
						bbsContentList.html("");
						for (var i = 0; i < tmpdata.length; i++) {
							var tr = $("<tr/>");
							tmp = "<td><a href='contentPage.jsp?id=" + tmpdata[i].f_id + "'>" + tmpdata[i].f_title + "</a></td>";
							tmp = tmp + "<td align='center'>" + tmpdata[i].f_createUser + "<br/>" + tmpdata[i].f_createTime + "</td>";
							tmp = tmp + "<td align='center'>" + tmpdata[i].f_commentCount + "</td>";
							tr.append(tmp);
							var td = $("<td/>");
							bbsContentList.append(tr);
							getlast(td,tr,tmpdata[i].f_id);
						}
					});
				}

			});
		});
	}
}


function bbs_node_list(moduleDiv, moduleParams, reloadHtml) {
	if (reloadHtml) {// 是否重新加载内容
		// 加载内容
		var id = getParameterByUrl("id");
		var length = 0;
		function getLast(tmpul, tmpli, n) {
			$.get(proxyName + "/Dao_T_Content/getRowsByCase.fn", "whereQuery=" + encodeURI('["f_nodeId = ?",' + n.f_id + ']') + "&pageSize=" + moduleParams.pageSize + "&orderSql=f_id desc", function(d) {
				var contentdata = JSON.parse(d);
				if (d != "") {
					tmpli.html('<li><a href="contentPage.jsp?id=' + contentdata[0].f_id + '">' + contentdata[0].f_title + '<a/>&nbsp;' + contentdata[0].f_createTime + '&nbsp;' + contentdata[0].f_createUser + '</li>');
				}
				tmpul.append(tmpli);
			})
		}
		$.post(proxyName + "/Dao_T_Node/getRowsByCase.fn", "whereQuery=" + encodeURI('["f_parentId = ?",' + id + ']') + "&orderSql=f_order asc", function(data) {
			var tmpdata = JSON.parse(data);
			$(moduleDiv).html('<ul class="bbsnodelist"></ul>');
			var bbsnodelist = $(moduleDiv).find("ul");
			$.each(tmpdata, function(i, n) {
				var b1 = $('<li class="bbsnodeblock"><img class="bbsnodebanner" style="margin-right:10px;" src="' + n.f_banner + '" align="left"/><div></div></li>');
				bbsnodelist.append(b1);
				var ul = $("<ul/>").addClass("bbsNode");
				ul.append('<li><a href="nodePage.jsp?id=' + n.f_id + '">' + n.f_name + '<a/></li><li>主题：' + n.f_contentCount + ',帖数：' + n.f_commentCount + '</li>');
				var li = $("<li/>");
				b1.find("div").append(ul);
				getLast(ul, li, n);

			});
		});
	}
}

