//需求:表情栏可以隐藏显示,高度只要一点高
function sd_create_editor(params){
    // var minHeight;  //最小高度
    var paramsHeight = params.height; //设定的高度
    var id = arguments[1] ? arguments[1] : undefined;
    var type = arguments[2] ? arguments[2] : '';
    var paramsWidth = params.width == undefined ? "100%" : params.width;

    var editor = params.kindutil.create(params.textarea, {
        resizeType : 1,minWidth:"1px",width:"94%",
        height:"33px",// == undefined ? "30px":paramsHeight+"px",
        minHeight:"33px",// == undefined ? "30px":paramsHeight+"px",
        width:params.width,
        /*
        items:['emoticons','fontname',
            'forecolor', 'hilitecolor', 'bold', '|', 'justifyleft', 'justifycenter', 'insertorderedlist','insertunorderedlist', '|',
            'formatblock', 'fontsize', '|','indent', 'outdent',
            '|','imagedirectupload','more'],*/
        items : ['code','emoticons','fontname',
            'forecolor', 'hilitecolor', 'bold', '|', 'justifyleft', 'justifycenter', 'insertorderedlist','insertunorderedlist', '|',
            'formatblock', 'fontsize', '|','indent', 'outdent',
            '|','imagedirectupload','table',   'media', 'preview',"more"
        ],
        afterChange:function(){//按键事件
            var edit = this.edit;
            var body = edit.doc.body;
            edit.iframe.height(paramsHeight);
            this.resize(null, Math.max((params.kindutil.IE ? body.scrollHeight : (params.kindutil.GECKO ? body.offsetHeight+26:body.offsetHeight+7))  , paramsHeight));
        },
        afterBlur:function(){
            //params.toolbar_container.hide();
            sd_check_editor_form_field({content:this,contentmsg:params.contentmsg,textarea:params.textarea});
            if(this.isEmpty()) {
                this.edit.html("<span id='hint' style='color:#999999;font-size:12px;'>我要回复</span>");
            }
            //params.toolbar_container.hide();
            $('#reply_image_' + id).addClass('imageFuzzy');
            if(/^\s*<\w*\s*\w*\=\"\w*\"\s*\w*\=\"\w*\:\s*\#\d*\;\s*\w*\-\w*\:\s*\w*\;\"\>[\u4e00-\u9fa5]*<\/\w*\>\s*$/.test(this.edit.html())){
                params.submit_btn.hide();
                params.toolbar_container.hide();
                this.resize("100%", null);
            }else if(this.edit.html().trim() != ""){
                params.submit_btn.show();
                params.toolbar_container.show();
            }

            //params.submit_btn.css("display","none");
        },
        afterFocus: function(){
            var edit = this.edit;
            var body = edit.doc.body;
            if(/^\s*<\w*\s*\w*\=\"\w*\"\s*\w*\=\"\w*\:\s*\#\d*\;\s*\w*\-\w*\:\s*\w*\;\"\>[\u4e00-\u9fa5]*<\/\w*\>\s*$/.test(edit.html())){
                edit.html('');
            }
            params.submit_btn.show();
            params.contentmsg.hide();
            params.toolbar_container.show();
            // params.toolbar_container.show();
            $('#reply_image_' + id).removeClass('imageFuzzy');
            //edit.iframe.width(paramsWidth);
            this.resize(paramsWidth, null);
            //params.submit_btn.show();
        },

        afterCreate:function(){
            //params.submit_btn.hide();
            var toolbar = $("div[class='ke-toolbar']",params.div_form);
            toolbar.css('display','inline');
            toolbar.css('padding',0);
            $(".ke-outline>.ke-toolbar-icon",toolbar).append('表情');
            params.toolbar_container.append(toolbar);
            params.toolbar_container.hide();
            //init
            var edit = this.edit;
            var body = edit.doc.body;
            edit.iframe[0].scroll = 'no';
            body.style.overflowY = 'hidden';
            //reset height
            paramsHeight = paramsHeight == undefined ? params.kindutil.removeUnit(this.height) : paramsHeight;
            edit.iframe.height(paramsHeight);
            edit.html("<span id='hint' style='color:#999999;font-size:12px;'>我要回复</span>");
            this.resize(null,paramsHeight);// Math.max((params.kindutil.IE ? body.scrollHeight : body.offsetHeight)+ paramsHeight , paramsHeight)
            // params.toolbar_container.hide();
            if(typeof enableAt === 'function'){
                enableAt(this, id, type);
            }
        }
    }).loadPlugin('paste');
    return editor;
}

function sd_check_editor_form_field(params){
    var result=true;
    if(params.content!=undefined){
        if(params.content.isEmpty()){
            result=false;
        }
        if(params.content.html()!=params.textarea.html() || params.issubmit==true){
            params.textarea.html(params.content.html());
            params.content.sync();
            if(params.content.isEmpty() || /^\s*<\w*\s*\w*\=\"\w*\"\s*\w*\=\"\w*\:\s*\#\d*\;\s*\w*\-\w*\:\s*\w*\;\"\>[\u4e00-\u9fa5]*<\/\w*\>\s*$/.test(params.textarea.html())){
                params.contentmsg.html('内容不能为空');
                params.contentmsg.css({color:'#ff0000'});
            }else{
                params.contentmsg.html('填写正确');
                params.contentmsg.css({color:'#008000'});
            }
            params.contentmsg.show();
        }
    }
    return result;
}
function sd_create_form(params){
    params.form.submit(function(){
        var flag = false;
        if(params.form.attr('data-remote') != undefined ){
            flag = true
        }
        var is_checked = sd_check_editor_form_field({
            issubmit:true,
            content:params.editor,
            contentmsg:params.contentmsg,
            textarea:params.textarea
        });
        if(is_checked){
            if(flag){
                return true;
            }else{
                $(this)[0].submit();
                return false;
            }
        }
        return false;
    });
}
function sd_reset_editor_form(params){
    params.form[0].reset();
    params.textarea.empty();
    if(params.editor != undefined){
        params.editor.html(params.textarea.html());
    }
    params.contentmsg.hide();
}
//第二个参数是高度,可以传,可以不传
function sd_create_editor_from_data(id){
    var height = arguments[1] ? arguments[1] : undefined;
    var width = arguments[2] ? arguments[2] : undefined;
    var type = arguments[3] ? arguments[3] : undefined;
    KindEditor.ready(function (K) {
        $("div[nhname='new_message_" + id + "']").each(function () {
            var params = {};
            params.kindutil = K;
            params.div_form = $(this);
            params.form = $("form", params.div_form);
            if (params.form == undefined || params.form.length == 0) {
                return;
            }
            params.textarea = $("textarea[nhname='new_message_textarea_" + id + "']", params.div_form);
            params.contentmsg = $("span[nhname='contentmsg_" + id + "']", params.div_form);
            params.toolbar_container = $("div[nhname='toolbar_container_" + id + "']", params.div_form);
            params.cancel_btn = $("#new_message_cancel_btn_" + id);
            params.submit_btn = $("#new_message_submit_btn_" + id);
            params.height = height;
            params.width = width;
            if (params.textarea.data('init') == undefined) {
                params.editor = sd_create_editor(params,id, type);
                sd_create_form(params);
                params.cancel_btn.click(function () {
                    sd_reset_editor_form(params);
                });
                params.submit_btn.click(function () {
                    params.form.submit();
                });
                params.textarea.data('init', 1);
                $(this).show();
            }
        });
    });

    div_form = $("div[nhname='new_message_" + id + "']");
    $(".ke-edit", div_form).css("height","33px");
    $(".ke-edit-iframe",div_form).css("height","33px");
}