/*
Copyright (c) 2009, Kissy UI Library. All rights reserved.
MIT Licensed.
http://kissy.googlecode.com/

Date: 2009-11-20 14:54:53
Revision: 263
*/
var KISSY=window.KISSY||{};KISSY.Editor=function(a,b){var c=KISSY.Editor;if(!(this instanceof c)){return new c(a,b)}else{if(!c._isReady){c._setup()}return new c.Instance(a,b)}};(function(b){var a=YAHOO.lang;a.augmentObject(b,{version:"0.1",lang:{},mods:{},plugins:{},add:function(c,e,d){this.mods[c]={name:c,fn:e,details:d||{}};return this},addPlugin:function(f,j){var d=typeof f=="string"?[f]:f,e=this.plugins,h,g,c;for(g=0,c=d.length;g<c;++g){h=d[g];if(!e[h]){e[h]=a.merge(j,{name:h})}}},_isReady:false,_setup:function(){this._loadModules();this._isReady=true},_attached:{},_loadModules:function(){var f=this.mods,e=this._attached,d,c;for(d in f){c=f[d];if(!e[d]&&c){e[d]=c;if(c.fn){c.fn(this)}}}}})})(KISSY.Editor);KISSY.Editor.add("config",function(a){a.config={base:"",language:"zh-cn",theme:"default",toolbar:["source","","fontName","fontSize","bold","italic","underline","strikeThrough","foreColor","backColor","","link","smiley","image","","insertOrderedList","insertUnorderedList","outdent","indent","justifyLeft","justifyCenter","justifyRight"],statusbar:["wordcount","resize"],pluginsConfig:{}}});KISSY.Editor.add("lang~en",function(a){a.lang.en={source:{text:"Source",title:"Source"},undo:{text:"Undo",title:"Undo (Ctrl+Z)"},redo:{text:"Redo",title:"Redo (Ctrl+Y)"},fontName:{text:"Font Name",title:"Font Name",options:{Arial:"Arial","Times New Roman":"Times New Roman","Arial Black":"Arial Black","Arial Narrow":"Arial Narrow","Comic Sans MS":"Comic Sans MS","Courier New":"Courier New",Garamond:"Garamond",Georgia:"Georgia",Tahoma:"Tahoma","Trebuchet MS":"Trebuchet MS",Verdana:"Verdana"}},fontSize:{text:"Size",title:"Font size",options:{"8":"1","10":"2","12":"3","14":"4","18":"5","24":"6","36":"7"}},bold:{text:"Bold",title:"Bold (Ctrl+B)"},italic:{text:"Italic",title:"Italick (Ctrl+I)"},underline:{text:"Underline",title:"Underline (Ctrl+U)"},strikeThrough:{text:"Strikeout",title:"Strikeout"},link:{text:"Link",title:"Insert/Edit link",href:"URL:",target:"Open link in new window",remove:"Remove link"},blockquote:{text:"Blockquote",title:"Insert blockquote"},smiley:{text:"Smiley",title:"Insert smiley"},image:{text:"Image",title:"Insert image",tab_link:"Web Image",tab_local:"Local Image",tab_album:"Album Image",label_link:"Enter image web address:",label_local:"Browse your computer for the image file to upload:",label_album:"Select the image from your album:",uploading:"Uploading...",upload_error:"Exception occurs when uploading file.",upload_filter:"Only allow PNG, GIF, JPG image type.",ok:"Insert"},insertOrderedList:{text:"Numbered List",title:"Numbered List (Ctrl+7)"},insertUnorderedList:{text:"Bullet List",title:"Bullet List (Ctrl+8)"},outdent:{text:"Decrease Indent",title:"Decrease Indent"},indent:{text:"Increase Indent",title:"Increase Indent"},justifyLeft:{text:"Left Justify",title:"Left Justify (Ctrl+L)"},justifyCenter:{text:"Center Justify",title:"Center Justify (Ctrl+E)"},justifyRight:{text:"Right Justify",title:"Right Justify (Ctrl+R)"},foreColor:{text:"Text Color",title:"Text Color"},backColor:{text:"Text Background Color",title:"Text Background Color"},maximize:{text:"Maximize",title:"Maximize"},removeformat:{text:"Remove Format",title:"Remove Format"},wordcount:{tmpl:"Remain %remain% words (include html code)"},resize:{larger_text:"Larger",larger_title:"Enlarge the editor",smaller_text:"Smaller",smaller_title:"Shrink the editor"},common:{ok:"OK",cancel:"Cancel"}}});KISSY.Editor.add("lang~zh-cn",function(a){a.lang["zh-cn"]={source:{text:"\u6e90\u7801",title:"\u6e90\u7801"},undo:{text:"\u64a4\u9500",title:"\u64a4\u9500"},redo:{text:"\u91cd\u505a",title:"\u91cd\u505a"},fontName:{text:"\u5b57\u4f53",title:"\u5b57\u4f53",options:{"\u5b8b\u4f53":"\u5b8b\u4f53","\u9ed1\u4f53":"\u9ed1\u4f53","\u96b6\u4e66":"\u96b6\u4e66","\u6977\u4f53":"\u6977\u4f53_GB2312","\u5fae\u8f6f\u96c5\u9ed1":"\u5fae\u8f6f\u96c5\u9ed1",Georgia:"Georgia","Times New Roman":"Times New Roman",Impact:"Impact","Courier New":"Courier New",Arial:"Arial",Verdana:"Verdana",Tahoma:"Tahoma"}},fontSize:{text:"\u5927\u5c0f",title:"\u5927\u5c0f",options:{"8":"1","10":"2","12":"3","14":"4","18":"5","24":"6","36":"7"}},bold:{text:"\u7c97\u4f53",title:"\u7c97\u4f53"},italic:{text:"\u659c\u4f53",title:"\u659c\u4f53"},underline:{text:"\u4e0b\u5212\u7ebf",title:"\u4e0b\u5212\u7ebf"},strikeThrough:{text:"\u5220\u9664\u7ebf",title:"\u5220\u9664\u7ebf"},link:{text:"\u94fe\u63a5",title:"\u63d2\u5165/\u7f16\u8f91\u94fe\u63a5",href:"URL:",target:"\u5728\u65b0\u7a97\u53e3\u6253\u5f00\u94fe\u63a5",remove:"\u79fb\u9664\u94fe\u63a5"},blockquote:{text:"\u5f15\u7528",title:"\u5f15\u7528"},smiley:{text:"\u8868\u60c5",title:"\u63d2\u5165\u8868\u60c5"},image:{text:"\u56fe\u7247",title:"\u63d2\u5165\u56fe\u7247",tab_link:"\u7f51\u7edc\u56fe\u7247",tab_local:"\u672c\u5730\u4e0a\u4f20",tab_album:"\u6211\u7684\u76f8\u518c",label_link:"\u8bf7\u8f93\u5165\u56fe\u7247\u5730\u5740\uff1a",label_local:"\u8bf7\u9009\u62e9\u672c\u5730\u56fe\u7247\uff1a",label_album:"\u8bf7\u9009\u62e9\u76f8\u518c\u56fe\u7247\uff1a",uploading:"\u6b63\u5728\u4e0a\u4f20...",upload_error:"\u5bf9\u4e0d\u8d77\uff0c\u4e0a\u4f20\u6587\u4ef6\u65f6\u53d1\u751f\u4e86\u9519\u8bef\uff1a",upload_filter:"\u4ec5\u652f\u6301 JPG, PNG \u548c GIF \u56fe\u7247\uff0c\u8bf7\u91cd\u65b0\u9009\u62e9\u3002",ok:"\u63d2\u5165"},insertOrderedList:{text:"\u6709\u5e8f\u5217\u8868",title:"\u6709\u5e8f\u5217\u8868"},insertUnorderedList:{text:"\u65e0\u5e8f\u5217\u8868",title:"\u65e0\u5e8f\u5217\u8868"},outdent:{text:"\u51cf\u5c11\u7f29\u8fdb",title:"\u51cf\u5c11\u7f29\u8fdb"},indent:{text:"\u589e\u52a0\u7f29\u8fdb",title:"\u589e\u52a0\u7f29\u8fdb"},justifyLeft:{text:"\u5de6\u5bf9\u9f50",title:"\u5de6\u5bf9\u9f50"},justifyCenter:{text:"\u5c45\u4e2d\u5bf9\u9f50",title:"\u5c45\u4e2d\u5bf9\u9f50"},justifyRight:{text:"\u53f3\u5bf9\u9f50",title:"\u53f3\u5bf9\u9f50"},foreColor:{text:"\u6587\u672c\u989c\u8272",title:"\u6587\u672c\u989c\u8272"},backColor:{text:"\u80cc\u666f\u989c\u8272",title:"\u80cc\u666f\u989c\u8272"},maximize:{text:"\u5168\u5c4f\u7f16\u8f91",title:"\u5168\u5c4f\u7f16\u8f91"},removeformat:{text:"\u6e05\u9664\u683c\u5f0f",title:"\u6e05\u9664\u683c\u5f0f"},wordcount:{tmpl:"\u8fd8\u53ef\u4ee5\u8f93\u5165 %remain% \u5b57\uff08\u542b html \u4ee3\u7801\uff09"},resize:{larger_text:"\u589e\u5927",larger_title:"\u589e\u5927\u7f16\u8f91\u533a\u57df",smaller_text:"\u7f29\u5c0f",smaller_title:"\u7f29\u5c0f\u7f16\u8f91\u533a\u57df"},common:{ok:"\u786e\u5b9a",cancel:"\u53d6\u6d88"}}});KISSY.Editor.add("core~plugin",function(a){a.PLUGIN_TYPE={CUSTOM:0,TOOLBAR_SEPARATOR:1,TOOLBAR_BUTTON:2,TOOLBAR_MENU_BUTTON:4,TOOLBAR_SELECT:8,STATUSBAR_ITEM:16,FUNC:32}});KISSY.Editor.add("core~dom",function(b){var a=YAHOO.env.ua;b.Dom={getText:function(c){return c?(c.textContent||""):""},setItemUnselectable:function(g){var d,f,c,h,e;d=g.getElementsByTagName("*");for(f=-1,c=d.length;f<c;++f){e=(f==-1)?g:d[f];h=e.nodeName;if(h&&h!="INPUT"){e.setAttribute("unselectable","on")}}return g},BLOCK_ELEMENTS:{blockquote:1,div:1,h1:1,h2:1,h3:1,h4:1,h5:1,h6:1,hr:1,p:1,address:1,center:1,pre:1,form:1,fieldset:1,caption:1,table:1,tbody:1,tr:1,th:1,td:1,ul:1,ol:1,dl:1,dt:1,dd:1,li:1}};if(a.ie){b.Dom.getText=function(c){return c?(c.innerText||""):""}}});KISSY.Editor.add("core~color",function(d){var c="toString",a=parseInt,b=RegExp;d.Color={KEYWORDS:{black:"000",silver:"c0c0c0",gray:"808080",white:"fff",maroon:"800000",red:"f00",purple:"800080",fuchsia:"f0f",green:"008000",lime:"0f0",olive:"808000",yellow:"ff0",navy:"000080",blue:"00f",teal:"008080",aqua:"0ff"},re_RGB:/^rgb\(([0-9]+)\s*,\s*([0-9]+)\s*,\s*([0-9]+)\)$/i,re_hex:/^#?([0-9A-F]{2})([0-9A-F]{2})([0-9A-F]{2})$/i,re_hex3:/([0-9A-F])/gi,toRGB:function(e){if(!this.re_RGB.test(e)){e=this.toHex(e)}if(this.re_hex.exec(e)){e="rgb("+[a(b.$1,16),a(b.$2,16),a(b.$3,16)].join(", ")+")"}return e},toHex:function(i){i=this.KEYWORDS[i]||i;if(this.re_RGB.exec(i)){var h=(b.$1>>0)[c](16),f=(b.$2>>0)[c](16),e=(b.$3>>0)[c](16);i=[h.length==1?"0"+h:h,f.length==1?"0"+f:f,e.length==1?"0"+e:e].join("")}if(i.length<6){i=i.replace(this.re_hex3,"$1$1")}if(i!=="transparent"&&i.indexOf("#")<0){i="#"+i}return i.toLowerCase()},int2hex:function(h){var g,f,e;h=h>>0;g=h&255;f=(h>>8)&255;e=(h>>16)&255;return this.toHex("rgb("+g+","+f+","+e+")")}}});KISSY.Editor.add("core~command",function(f){var d=YAHOO.env.ua,b={backColor:d.gecko?"hiliteColor":"backColor"},c="bold,italic,underline,strikeThrough",a="styleWithCSS",e="execCommand";f.Command={exec:function(i,h,j,g){h=b[h]||h;this._preExec(i,h,g);i[e](h,false,j)},_preExec:function(i,h,g){if(d.gecko){var j=typeof g==="undefined"?(c.indexOf(h)===-1):g;i[e](a,false,j)}}}});KISSY.Editor.add("core~range",function(b){var a=YAHOO.env.ua.ie;b.Range={getSelectionRange:function(f){var e=f.document,d,c;if(f.getSelection){d=f.getSelection();if(d.getRangeAt){c=d.getRangeAt(0)}else{c=e.createRange();c.setStart(d.anchorNode,d.anchorOffset);c.setEnd(d.focusNode,d.focusOffset)}}else{if(e.selection){c=e.selection.createRange()}}return c},getCommonAncestor:function(c){return c.startContainer||(c.parentElement&&c.parentElement())||(c.commonParentElement&&c.commonParentElement())},getSelectedText:function(c){if("text" in c){return c.text}return c.toString?c.toString():""},saveRange:function(c){a&&c.contentWin.focus();return c.getSelectionRange()}}});KISSY.Editor.add("core~instance",function(k){var c=YAHOO.util,e=c.Dom,i=c.Event,f=YAHOO.lang,g=YAHOO.env.ua,a=g.ie,d="ks-editor",h='<div class="ks-editor-toolbar"></div><div class="ks-editor-content"><iframe frameborder="0" allowtransparency="1"></iframe></div><div class="ks-editor-statusbar"></div>',b='<!doctype html><html><head><title>Rich Text Area</title><meta http-equiv="content-type" content="text/html; charset=gb18030" /><link type="text/css" href="{CONTENT_CSS}" rel="stylesheet" /></head><body spellcheck="false" class="ks-editor-post">{CONTENT}</body></html>',j="themes";k.Instance=function(l,m){this.textarea=e.get(l);this.config=f.merge(k.config,m||{});this.sourceMode=false;this.toolbar=new k.Toolbar(this);this.statusbar=new k.Statusbar(this);this._init()};f.augmentObject(k.Instance.prototype,{_init:function(){this._renderUI();this._initPlugins();this._initAutoFocus()},_renderUI:function(){this._renderContainer();this._setupContentPanel()},_initPlugins:function(){var m,n,o=k.plugins,l=[];for(m in o){l[m]=f.merge(o[m])}this.plugins=l;this.toolbar.init();this.statusbar.init();for(m in l){n=l[m];if(n.inited){continue}if(n.type===k.PLUGIN_TYPE.FUNC){n.editor=this;if(n.init){n.init()}n.inited=true}}},_renderContainer:function(){var n=this.textarea,r=e.getRegion(n),p="550px",l=(r.bottom-r.top-2)+"px",m=document.createElement("div"),q,o;m.className=d;m.style.width=p;m.innerHTML=h;q=m.childNodes[1];q.style.width="100%";q.style.height=l;o=q.childNodes[0];o.style.width="100%";o.style.height="100%";o.setAttribute("frameBorder",0);n.style.display="none";e.insertBefore(m,n);this.container=m;this.toolbar.domEl=m.childNodes[0];this.contentWin=o.contentWindow;this.contentDoc=o.contentWindow.document;this.statusbar.domEl=m.childNodes[2]},_setupContentPanel:function(){var p=this.contentDoc,o=this.config,l="content"+(o.debug?"":"-min")+".css",n=o.base+j+"/"+o.theme+"/"+l,m=this;p.open();p.write(b.replace("{CONTENT_CSS}",n).replace("{CONTENT}",this.textarea.value));p.close();if(a){p.body.contentEditable="true"}else{p.designMode="on"}if(a){i.on(p,"click",function(){if(p.activeElement.parentNode.nodeType===9){m._focusToEnd()}})}},_initAutoFocus:function(){if(this.config.autoFocus){this._focusToEnd()}},_focusToEnd:function(){this.contentWin.focus();var n=this.contentDoc.body.lastChild,l=k.Range.getSelectionRange(this.contentWin);if(g.ie){try{l.moveToElementText(n)}catch(m){}l.collapse(false);l.select()}else{try{l.setEnd(n,n.childNodes.length)}catch(m){}l.collapse(false)}},focus:function(){this._focusToEnd()},execCommand:function(m,n,l){this.contentWin.focus();k.Command.exec(this.contentDoc,m,n,l)},getData:function(){if(this.sourceMode){return this.textarea.value}return this.getContentDocData()},getContentDocData:function(){var m=this.contentDoc.body,l="",n=k.plugins.save;l=m.innerHTML;if(l=="<br>"){l=""}if(n&&n.filterData){l=n.filterData(l)}return l},getSelectionRange:function(){return k.Range.getSelectionRange(this.contentWin)}})});KISSY.Editor.add("core~toolbar",function(j){var c=YAHOO.util,b=c.Dom,r=c.Event,e=YAHOO.lang,o=YAHOO.env.ua.ie,n=o===6,h=j.PLUGIN_TYPE,d='<div class="ks-editor-stripbar-sep ks-inline-block"></div>',m='<div class="ks-editor-toolbar-button ks-inline-block" title="{TITLE}"><div class="ks-editor-toolbar-button-outer-box"><div class="ks-editor-toolbar-button-inner-box"><span class="ks-editor-toolbar-item ks-editor-toolbar-{NAME}">{TEXT}</span></div></div></div>',l='<div class="ks-editor-toolbar-menu-button-caption ks-inline-block"><span class="ks-editor-toolbar-item ks-editor-toolbar-{NAME}">{TEXT}</span></div><div class="ks-editor-toolbar-menu-button-dropdown ks-inline-block"></div>',q="ks-editor-toolbar-menu-button",i="ks-editor-toolbar-select",g="ks-editor-toolbar-button-active",a="ks-editor-toolbar-button-hover",p="ks-editor-toolbar-button-selected",f="fontName,fontSize,bold,italic,underline,strikeThroughinsertOrderedList,insertUnorderedListjustifyLeft,justifyCenter,justifyRight",k=document.createElement("div");j.Toolbar=function(s){this.editor=s;this.config=s.config;this.lang=j.lang[this.config.language];this.items=[];this.stateItems=[]};e.augmentObject(j.Toolbar.prototype,{init:function(){var u=this.config.toolbar,t=this.editor.plugins,w,x;for(var v=0,s=u.length;v<s;++v){w=u[v];if(w){if(!(w in t)){continue}x=t[w];this._addItem(x);this.items.push(x);if(f.indexOf(x.name)!==-1){this.stateItems.push(x)}}else{this._addSeparator()}}this._initUpdateState()},_addItem:function(v){var u,t=v.type,w=this.lang,s;if(!v.lang){v.lang=e.merge(w.common,this.lang[v.name]||{})}s=m.replace("{TITLE}",v.lang.title||"").replace("{NAME}",v.name).replace("{TEXT}",v.lang.text||"");if(n){s=s.replace("outer-box","outer-box ks-inline-block").replace("inner-box","inner-box ks-inline-block")}k.innerHTML=s;v.domEl=u=k.firstChild;if(t==h.TOOLBAR_MENU_BUTTON||t==h.TOOLBAR_SELECT){this._renderMenuButton(v);if(t==h.TOOLBAR_SELECT){this._renderSelect(v)}}this._bindItemUI(v);this._addToToolbar(u);v.editor=this.editor;if(v.init){v.init()}v.inited=true},_renderMenuButton:function(u){var t=u.domEl,s=t.getElementsByTagName("span")[0].parentNode;b.addClass(t,q);s.innerHTML=l.replace("{NAME}",u.name).replace("{TEXT}",u.lang.text||"")},_renderSelect:function(s){b.addClass(s.domEl,i)},_bindItemUI:function(t){var s=t.domEl;if(t.exec){r.on(s,"click",function(){t.exec()})}r.on(s,"mousedown",function(){b.addClass(s,g)});r.on(s,"mouseup",function(){b.removeClass(s,g)});r.on(s,"mouseout",function(w){var v=r.getRelatedTarget(w),u;try{if(s.contains){u=s.contains(v)}else{if(s.compareDocumentPosition){u=s.compareDocumentPosition(v)&8}}}catch(w){u=false}if(u){return}b.removeClass(s,g)});if(n){r.on(s,"mouseenter",function(){b.addClass(s,a)});r.on(s,"mouseleave",function(){b.removeClass(s,a)})}},_addSeparator:function(){k.innerHTML=d;this._addToToolbar(k.firstChild)},_addToToolbar:function(s){if(o){s=j.Dom.setItemUnselectable(s)}this.domEl.appendChild(s)},_initUpdateState:function(){var t=this.editor.contentDoc,s=this;r.on(t,"click",function(){s.updateState()});r.on(t,"keyup",function(u){var v=u.keyCode;if((v>=33&&v<=40)||v===8||v===13||v===46){s.updateState()}})},updateState:function(t){var u=this.stateItems,w;t=t?t.join("|"):"";for(var v=0,s=u.length;v<s;v++){w=u[v];if(t&&t.indexOf(w.name)===-1){continue}if(w.updateState){w.updateState();continue}this.updateItemState(w)}},updateItemState:function(u){var t=this.editor.contentDoc;try{if(t.queryCommandEnabled(u.name)){if(t.queryCommandState(u.name)){b.addClass(u.domEl,p)}else{b.removeClass(u.domEl,p)}}}catch(s){}}})});KISSY.Editor.add("core~statusbar",function(d){var e=YAHOO.util,c=YAHOO.lang,b=YAHOO.env.ua.ie,a='<div class="ks-editor-stripbar-sep kissy-inline-block"></div>',g='<div class="ks-editor-statusbar-item ks-editor-{NAME} ks-inline-block"></div>',f=document.createElement("div");d.Statusbar=function(h){this.editor=h;this.config=h.config;this.lang=d.lang[this.config.language]};c.augmentObject(d.Statusbar.prototype,{init:function(){var k=this.config.statusbar,j=this.editor.plugins,m;for(var l=0,h=k.length;l<h;++l){m=k[l];if(m){if(!(m in j)){continue}this._addItem(j[m])}else{this._addSep()}}},_addItem:function(i){var h,j=this.lang;if(!i.lang){i.lang=c.merge(j.common,this.lang[i.name]||{})}f.innerHTML=g.replace("{NAME}",i.name);i.domEl=h=f.firstChild;this._addToToolbar(h);i.editor=this.editor;if(i.init){i.init()}i.inited=true},_addSep:function(){f.innerHTML=a;this._addToToolbar(f.firstChild)},_addToToolbar:function(h){if(b){h=d.Dom.setItemUnselectable(h)}this.domEl.appendChild(h)}})});KISSY.Editor.add("core~menu",function(n){var e=YAHOO.util,i=e.Dom,m=e.Event,j=YAHOO.env.ua,g="display",k="none",f="",a="ks-editor-drop-menu",l="ks-editor-drop-menu-shadow",d="ks-editor-drop-menu-content",c="ks-editor-toolbar-button-selected",b=a+"-shim",h;n.Menu={generateDropMenu:function(q,p,s){var r=document.createElement("div"),o=this;r.innerHTML='<div class="'+l+'"></div><div class="'+d+'"></div>';r.className=a;r.style[g]=k;document.body.appendChild(r);m.on(p,"click",function(t){m.stopPropagation(t);q.activeDropMenu&&o._hide(q);if(q.activeDropMenu!=r){o._setDropMenuPosition(p,r,s);q.activeDropMenu=r;q.activeDropButton=p;o._show(q)}else{q.activeDropMenu=null;q.activeDropButton=null}});m.on([document,q.contentDoc],"click",function(){if(q.activeDropMenu){o.hideActiveDropMenu(q);if(this==q.contentDoc){q.contentWin.focus()}}});this._initResizeEvent(p,r,s);return r.childNodes[1]},_setDropMenuPosition:function(o,q,u){var p=i.getRegion(o),t=p.left,s=p.bottom;if(u){t+=u[0];s+=u[1]}q.style.left=t+"px";q.style.top=s+"px"},_isVisible:function(o){if(!o){return false}return o.style[g]!=k},hideActiveDropMenu:function(o){this._hide(o);o.activeDropMenu=null;o.activeDropButton=null},_hide:function(o){var q=o.activeDropMenu,p=o.activeDropButton;if(q){h&&(h.style[g]=k);q.style[g]=k}p&&(i.removeClass(p,c))},_show:function(o){var q=o.activeDropMenu,p=o.activeDropButton;if(q){q.style[g]=f;if(j.ie===6){this._updateShimRegion(q);h.style[g]=f}}p&&(i.addClass(p,c))},_updateShimRegion:function(o){if(o){if(j.ie===6){if(!h){this._initShim()}this._setShimRegion(o)}}},_initResizeEvent:function(q,r,s){var p=this,o;m.on(window,"resize",function(){if(o){clearTimeout(o)}o=setTimeout(function(){if(p._isVisible(r)){p._setDropMenuPosition(q,r,s)}},50)})},_initShim:function(){h=document.createElement("iframe");h.src="about:blank";h.className=b;h.style.position="absolute";h.style[g]=k;h.style.border=k;document.body.appendChild(h)},_setShimRegion:function(o){if(h&&this._isVisible(o)){var p=i.getRegion(o);if(p.width>0){h.style.left=p.left+"px";h.style.top=p.top+"px";h.style.width=(p.width-1)+"px";h.style.height=(p.height-1)+"px"}}}}});KISSY.Editor.add("smilies~config~default",function(a){a.Smilies=a.Smilies||{};a.Smilies["default"]={name:"default",mode:"icons",cols:5,fileNames:["smile","confused","cool","cry","eek","angry","wink","sweat","lol","stun","razz","shy","rolleyes","sad","happy","yes","no","heart","idea","rose"],fileExt:"gif"}});KISSY.Editor.add("smilies~config~wangwang",function(a){a.Smilies=a.Smilies||{};a.Smilies.wangwang={name:"wangwang",mode:"sprite",base:"http://a.tbcdn.cn/sys/wangwang/smiley/48x48/",spriteStyle:"background: url(http://a.tbcdn.cn/sys/wangwang/smiley/sprite.png) no-repeat -1px 0; width: 288px; height: 235px",unitStyle:"width: 24px; height: 24px",filePattern:{start:0,end:98,step:1},fileExt:"gif"}});KISSY.Editor.add("plugins~base",function(b){var c=b.PLUGIN_TYPE,a="bold,italic,underline,strikeThrough,insertOrderedList,insertUnorderedList";b.addPlugin(a.split(","),{type:c.TOOLBAR_BUTTON,exec:function(){this.editor.execCommand(this.name);this.editor.toolbar.updateState()}})});KISSY.Editor.add("plugins~color",function(n){var c=YAHOO.util,h=c.Dom,m=c.Event,l=YAHOO.env.ua,e=l.ie,k=n.PLUGIN_TYPE,d='<div class="ks-editor-palette-table"><table><tbody>{TR}</tbody></table></div>',b='<td class="ks-editor-palette-cell"><div class="ks-editor-palette-colorswatch" title="{COLOR}" style="background-color:{COLOR}"></div></td>',i=["000","444","666","999","CCC","EEE","F3F3F3","FFF"],g=["F00","F90","FF0","0F0","0FF","00F","90F","F0F"],f=["F4CCCC","FCE5CD","FFF2CC","D9EAD3","D0E0E3","CFE2F3","D9D2E9","EAD1DC","EA9999","F9CB9C","FFE599","B6D7A8","A2C4C9","9FC5E8","B4A7D6","D5A6BD","E06666","F6B26B","FFD966","93C47D","76A5AF","6FA8DC","8E7CC3","C27BAD","CC0000","E69138","F1C232","6AA84F","45818E","3D85C6","674EA7","A64D79","990000","B45F06","BF9000","38761D","134F5C","0B5394","351C75","741B47","660000","783F04","7F6000","274E13","0C343D","073763","20124D","4C1130"],j="ks-editor-palette-colorswatch",a="ks-editor-palette-cell-selected";n.addPlugin(["foreColor","backColor"],{type:k.TOOLBAR_MENU_BUTTON,color:"",_indicator:null,swatches:null,dropMenu:null,range:null,init:function(){var p=this.domEl,o=p.getElementsByTagName("span")[0].parentNode;this.color=this._getDefaultColor();h.addClass(p,"ks-editor-toolbar-color-button");o.innerHTML='<div class="ks-editor-toolbar-color-button-indicator" style="border-bottom-color:'+this.color+'">'+o.innerHTML+"</div>";this._indicator=o.firstChild;this._renderUI();this._bindUI();this.swatches=h.getElementsByClassName(j,"div",this.dropMenu)},_renderUI:function(){this.dropMenu=n.Menu.generateDropMenu(this.editor,this.domEl,[1,0]);this._generatePalettes();if(e){n.Dom.setItemUnselectable(this.dropMenu)}},_bindUI:function(){this._bindPickEvent();m.on(this.domEl,"click",function(){this.range=this.editor.getSelectionRange();e&&this.editor.contentDoc.selection.empty();this._updateSelectedColor(this.color)},this,true)},_generatePalettes:function(){var o="";o+=this._getPaletteTable(i);o+=this._getPaletteTable(g);o+=this._getPaletteTable(f);this.dropMenu.innerHTML=o},_getPaletteTable:function(q){var s,p=q.length,r,o="<tr>";for(s=0,p=q.length;s<p;++s){if(s!=0&&s%8==0){o+="</tr><tr>"}r=n.Color.toRGB("#"+q[s]).toUpperCase();o+=b.replace(/{COLOR}/g,r)}o+="</tr>";return d.replace("{TR}",o)},_bindPickEvent:function(){var o=this;m.on(this.dropMenu,"click",function(q){var r=m.getTarget(q),p=r.getAttribute("title");if(p&&p.indexOf("RGB")===0){o._doAction(p)}m.stopPropagation(q);n.Menu.hideActiveDropMenu(o.editor)})},_doAction:function(p){if(!p){return}this.setColor(n.Color.toHex(p));var o=this.range;if(e&&o.select){o.select()}this.editor.execCommand(this.name,this.color)},setColor:function(o){this.color=o;this._updateIndicatorColor(o);this._updateSelectedColor(o)},_updateIndicatorColor:function(o){this._indicator.style.borderBottomColor=o},_updateSelectedColor:function(s){var q,o,r,p=this.swatches;for(q=0,o=p.length;q<o;++q){r=p[q];if(n.Color.toHex(r.style.backgroundColor)==s){h.addClass(r.parentNode,a)}else{h.removeClass(r.parentNode,a)}}},_getDefaultColor:function(){return(this.name=="foreColor")?"#000000":"#ffffff"}})});KISSY.Editor.add("plugins~font",function(k){var a=YAHOO.util,b=a.Dom,j=a.Event,f=YAHOO.env.ua,e=k.PLUGIN_TYPE,d="ks-editor-option-hover",h='<ul class="ks-editor-select-list">{LI}</ul>',c='<li class="ks-editor-option" data-value="{VALUE}"><span class="ks-editor-option-checkbox"></span><span style="{STYLE}">{KEY}</span></li>',i="ks-editor-option-selected",g={"10px":1,"13px":2,"16px":3,"18px":4,"24px":5,"32px":6,"48px":7};k.addPlugin(["fontName","fontSize"],{type:e.TOOLBAR_SELECT,selectedValue:"",selectHead:null,selectList:null,options:[],items:null,selectedItem:null,range:null,init:function(){this.options=this.lang.options;this.selectHead=this.domEl.getElementsByTagName("span")[0];this._renderUI();this._bindUI()},_renderUI:function(){this.selectList=k.Menu.generateDropMenu(this.editor,this.domEl,[1,0]);this._renderSelectList();this.items=this.selectList.getElementsByTagName("li")},_bindUI:function(){this._bindPickEvent();j.on(this.domEl,"click",function(){this.range=this.editor.getSelectionRange();f.ie&&this.editor.contentDoc.selection.empty();if(this.selectedValue){this._updateSelectedOption(this.selectedValue)}else{if(this.selectedItem){b.removeClass(this.selectedItem,i);this.selectedItem=null}}},this,true)},_renderSelectList:function(){var n="",l=this.options,m,o;for(m in l){o=l[m];n+=c.replace("{VALUE}",o).replace("{STYLE}",this._getOptionStyle(m,o)).replace("{KEY}",m)}this.selectList.innerHTML=h.replace("{LI}",n);b.addClass(this.selectList,"ks-editor-drop-menu-"+this.name)},_bindPickEvent:function(){var l=this;j.on(this.selectList,"click",function(m){var n=j.getTarget(m);if(n.nodeName!="LI"){n=b.getAncestorByTagName(n,"li")}if(!n){return}l._doAction(n.getAttribute("data-value"));j.stopPropagation(m);k.Menu.hideActiveDropMenu(l.editor)});if(f.ie===6){j.on(this.items,"mouseenter",function(){b.addClass(this,d)});j.on(this.items,"mouseleave",function(){b.removeClass(this,d)})}},_doAction:function(m){if(!m){return}this.selectedValue=m;this._setOption(m);var l=this.range;if(f.ie&&l.select){l.select()}this.editor.execCommand(this.name,this.selectedValue)},_setOption:function(l){this._updateHeadText(this._getOptionKey(l));this._updateSelectedOption(l)},_getOptionStyle:function(l,m){if(this.name=="fontName"){return"font-family:"+m}else{return"font-size:"+l+"px"}},_getOptionKey:function(n){var l=this.options,m;for(m in l){if(l[m]==n){return m}}return null},_updateHeadText:function(l){this.selectHead.innerHTML=l},_updateSelectedOption:function(p){var m=this.items,n,l=m.length,o;for(n=0;n<l;++n){o=m[n];if(o.getAttribute("data-value")==p){b.addClass(o,i);this.selectedItem=o}else{b.removeClass(o,i)}}},updateState:function(){var p=this.editor.contentDoc,m=this.options,l=this.name,o,q;try{if(p.queryCommandEnabled(l)){q=p.queryCommandValue(l);if(f.webkit&&l=="fontSize"){q=this._getWebkitFontSize(q)}q&&(o=this._getOptionKey(q));if(o in m){if(q!=this.selectedValue){this.selectedValue=q;this._updateHeadText(o)}}else{this.selectedValue="";this._updateHeadText(this.lang.text)}}}catch(n){}},_getWebkitFontSize:function(l){if(l in g){return g[l]}return null}})});KISSY.Editor.add("plugins~image",function(j){var c=YAHOO.util,b=c.Dom,u=c.Event,l=c.Connect,f=YAHOO.lang,k=YAHOO.env.ua,m=k.ie,h=j.PLUGIN_TYPE,d="ks-editor-image",r="ks-editor-btn-ok",e="ks-editor-btn-cancel",g="ks-editor-image-tabs",p="ks-editor-image-tab-content",n="ks-editor-image-uploading",a="ks-editor-dialog-actions",o="ks-editor-image-no-tab",t="ks-editor-image-tab-selected",s={local:'<li rel="local" class="'+t+'">{tab_local}</li>',link:'<li rel="link">{tab_link}</li>',album:'<li rel="album">{tab_album}</li>'},q=['<form action="javascript: void(0)">','<ul class="',g,' ks-clearfix">',"</ul>",'<div class="',p,'" rel="local" style="display: none">',"<label>{label_local}</label>",'<input type="file" size="40" name="imgFile" unselectable="on" />',"{local_extraCode}","</div>",'<div class="',p,'" rel="link">',"<label>{label_link}</label>",'<input name="imgUrl" size="50" />',"</div>",'<div class="',p,'" rel="album" style="display: none">',"<label>{label_album}</label>",'<p style="width: 300px">\u5c1a\u672a\u5b9e\u73b0...</p>',"</div>",'<div class="',n,'" style="display: none">','<p style="width: 300px">{uploading}</p>',"</div>",'<div class="',a,'">','<button name="ok" class="',r,'">{ok}</button>','<span class="',e,'">{cancel}</span>',"</div>","</form>"].join(""),i={tabs:["link"],upload:{actionUrl:"",filter:"png|gif|jpg|jpeg",filterMsg:"",enableXdr:false,connectionSwf:"http://a.tbcdn.cn/yui/2.8.0r4/build/connection/connection.swf",formatResponse:function(x){var v=[];for(var w in x){v.push(x[w])}return v},extraCode:""}};j.addPlugin("image",{type:h.TOOLBAR_BUTTON,config:{},dialog:null,form:null,range:null,currentTab:null,currentPanel:null,uploadingPanel:null,actionsBar:null,init:function(){var v=this.editor.config.pluginsConfig[this.name]||{};i.upload.filterMsg=this.lang.upload_filter;this.config=f.merge(i,v);this.config.upload=f.merge(i.upload,v.upload||{});this._renderUI();this._bindUI();this.actionsBar=b.getElementsByClassName(a,"div",this.dialog)[0];this.uploadingPanel=b.getElementsByClassName(n,"div",this.dialog)[0];this.config.upload.enableXdr&&this._initXdrUpload()},_renderUI:function(){var v=j.Menu.generateDropMenu(this.editor,this.domEl,[1,0]),w=this.lang;w.local_extraCode=this.config.upload.extraCode;v.className+=" "+d;v.innerHTML=q.replace(/\{([^}]+)\}/g,function(x,y){return(y in w)?w[y]:y});this.dialog=v;this.form=v.getElementsByTagName("form")[0];if(m){j.Dom.setItemUnselectable(v)}this._renderTabs()},_renderTabs:function(){var v=this.lang,F=this,B=b.getElementsByClassName(g,"ul",this.dialog)[0],C=b.getElementsByClassName(p,"div",this.dialog);var E=this.config.tabs,z="";for(var x=0,w=E.length;x<w;x++){z+=s[E[x]]}B.innerHTML=z.replace(/\{([^}]+)\}/g,function(G,H){return(H in v)?v[H]:H});var D=B.childNodes,A=C.length;if(D.length===1){b.addClass(this.dialog,o)}y(D[0]);u.on(D,"click",function(){y(this)});function y(I){var H=0,G=I.getAttribute("rel");for(var J=0;J<A;J++){if(D[J]){b.removeClass(D[J],t)}C[J].style.display="none";if(C[J].getAttribute("rel")==G){H=J}}if(k.ie===6){j.Menu._updateShimRegion(F.dialog)}b.addClass(I,t);C[H].style.display="";F.currentTab=I.getAttribute("rel");F.currentPanel=C[H]}},_bindUI:function(){var v=this;u.on(this.domEl,"click",function(){if(v.dialog.style.visibility===m?"hidden":"visible"){v._syncUI()}});u.on(this.dialog,"click",function(w){var x=u.getTarget(w),y=v.currentTab;switch(x.className){case r:if(y==="local"){u.stopPropagation(w);v._insertLocalImage()}else{v._insertWebImage()}break;case e:break;default:u.stopPropagation(w)}})},_initXdrUpload:function(){var x=this.config.tabs;for(var w=0,v=x.length;w<v;w++){if(x[w]==="local"){l.transport(this.config.upload.connectionSwf);break}}},_insertLocalImage:function(){var A=this.form,w=this.config.upload,y=A.imgFile.value,z=w.actionUrl,v=this,x;if(y&&z){if(w.filter!=="*"){x=y.substring(y.lastIndexOf(".")+1).toLowerCase();if(w.filter.indexOf(x)==-1){alert(w.filterMsg);v.form.reset();return}}this.uploadingPanel.style.display="";this.currentPanel.style.display="none";this.actionsBar.style.display="none";if(k.ie===6){j.Menu._updateShimRegion(this.dialog)}l.setForm(A,true);l.asyncRequest("post",z,{upload:function(D){try{var C=w.formatResponse(f.JSON.parse(D.responseText));if(C[0]=="0"){v._insertImage(C[1]);v._hideDialog()}else{v._onUploadError(C[1])}}catch(B){v._onUploadError(f.dump(B)+"\no = "+f.dump(D)+"\n[from upload catch code]")}},xdr:w.enableXdr})}else{v._hideDialog()}},_onUploadError:function(v){alert(this.lang.upload_error+"\n\n"+v);this._hideDialog()},_insertWebImage:function(){var v=this.form.imgUrl.value;v&&this._insertImage(v)},_hideDialog:function(){var v=this.editor.activeDropMenu;if(v&&b.isAncestor(v,this.dialog)){j.Menu.hideActiveDropMenu(this.editor)}this.editor.contentWin.focus()},_syncUI:function(){this.range=j.Range.saveRange(this.editor);this.form.reset();this.uploadingPanel.style.display="none";this.currentPanel.style.display="";this.actionsBar.style.display=""},_insertImage:function(x,B){x=f.trim(x);if(x.length===0){return}var A=this.editor,w=this.range;if(window.getSelection){var v=A.contentDoc.createElement("img");v.src=x;if(B){v.setAttribute("alt",B)}w.deleteContents();w.insertNode(v);if(k.webkit){var z=A.contentWin.getSelection();z.addRange(w);z.collapseToEnd()}else{w.setStartAfter(v)}A.contentWin.focus()}else{if(document.selection){A.contentWin.focus();if("text" in w){w.select();var y='<img src="'+x+'"';B&&(y+=' "alt="'+B+'"');y+=">";w.pasteHTML(y)}else{w.execCommand("insertImage",false,x)}}}}})});KISSY.Editor.add("plugins~indent",function(b){var c=b.PLUGIN_TYPE,a={type:c.TOOLBAR_BUTTON,exec:function(){this.editor.execCommand(this.name);this.editor.toolbar.updateState()}};b.addPlugin(["indent","outdent"],a)});KISSY.Editor.add("plugins~justify",function(b){var d=b.PLUGIN_TYPE,c=["justifyLeft","justifyCenter","justifyRight"],a={type:d.TOOLBAR_BUTTON,exec:function(){this.editor.execCommand(this.name);this.editor.toolbar.updateState(c)}};b.addPlugin(c,a)});KISSY.Editor.add("plugins~keystroke",function(c){var d=YAHOO.util,a=d.Event,b=YAHOO.env.ua,e=c.PLUGIN_TYPE;c.addPlugin("keystroke",{type:e.FUNC,init:function(){var f=this.editor;if(b.ie&&b.ie<8){a.on(f.contentDoc,"keydown",function(h){if(h.keyCode==9){this.selection.empty()}})}var g=f.textarea.form;if(g){new YAHOO.util.KeyListener(f.contentDoc,{ctrl:true,keys:13},{fn:function(){if(!f.sourceMode){f.textarea.value=f.getData()}g.submit()}}).enable()}}})});KISSY.Editor.add("plugins~link",function(j){var b=YAHOO.util,a=b.Dom,r=b.Event,f=YAHOO.lang,k=YAHOO.env.ua,m=k.ie,i=j.PLUGIN_TYPE,o=j.Range,h=new Date().getTime(),l=/^\w+:\/\/.*|#.*$/,c="ks-editor-link",d="ks-editor-link-newlink-mode",q="ks-editor-btn-ok",e="ks-editor-btn-cancel",p="ks-editor-link-remove",g="http://",n=['<form onsubmit="return false"><ul>','<li class="ks-editor-link-href"><label>{href}</label><input name="href" style="width: 220px" value="http://" type="text" /></li>','<li class="ks-editor-link-target"><input name="target" id="target_"',h,' type="checkbox" /> <label for="target_"',h,">{target}</label></li>",'<li class="ks-editor-dialog-actions">','<button name="ok" class="',q,'">{ok}</button>','<span class="',e,'">{cancel}</span>','<span class="',p,'">{remove}</span>',"</li>","</ul></form>"].join("");j.addPlugin("link",{type:i.TOOLBAR_BUTTON,dialog:null,form:null,range:null,init:function(){this._renderUI();this._bindUI()},_renderUI:function(){var s=j.Menu.generateDropMenu(this.editor,this.domEl,[1,0]),t=this.lang;s.className+=" "+c;s.innerHTML=n.replace(/\{([^}]+)\}/g,function(u,v){return t[v]?t[v]:v});this.dialog=s;this.form=s.getElementsByTagName("form")[0];k.webkit&&(this.form.target.parentNode.style.display="none");m&&j.Dom.setItemUnselectable(s)},_bindUI:function(){var t=this.form,s=this;r.on(this.domEl,"click",function(){if(s.dialog.style.visibility===m?"hidden":"visible"){s._syncUI()}});r.on(this.dialog,"click",function(u){var v=r.getTarget(u);switch(v.className){case q:s._createLink(t.href.value,t.target.checked);break;case e:break;case p:s._unLink();break;default:r.stopPropagation(u)}})},_syncUI:function(){this.range=j.Range.saveRange(this.editor);var u=this.form,t,s;t=o.getCommonAncestor(this.range);s=(t.nodeName=="A")?t:a.getAncestorByTagName(t,"A");if(s){u.href.value=s.href;u.target.checked=s.target==="_blank";a.removeClass(u,d)}else{u.href.value=g;u.target.checked=false;a.addClass(u,d)}setTimeout(function(){u.href.select()},50)},_createLink:function(v,x){v=this._getValidHref(v);if(v.length===0){this._unLink();return}var u=this.range,y=document.createElement("div"),t,s,w;s=o.getCommonAncestor(u);t=(s.nodeName=="A")?s:a.getAncestorByTagName(s,"A");if(t){t.href=v;if(x){t.setAttribute("target","_blank")}else{t.removeAttribute("target")}return}t=document.createElement("a");t.href=v;if(x){t.setAttribute("target","_blank")}if(m){if(u.select){u.select()}if("text" in u){t.innerHTML=u.htmlText||v;y.innerHTML="";y.appendChild(t);u.pasteHTML(y.innerHTML)}else{this.editor.execCommand("createLink",v)}}else{if(k.webkit){this.editor.execCommand("createLink",v)}else{if(u.collapsed){t.innerHTML=v}else{w=u.cloneContents();while(w.firstChild){t.appendChild(w.firstChild)}}u.deleteContents();u.insertNode(t);u.selectNode(t)}}},_getValidHref:function(s){s=f.trim(s);if(s&&!l.test(s)){s=g+s}return s},_unLink:function(){var v=this.editor,t=this.range,w=o.getSelectedText(t),s=o.getCommonAncestor(t),u;if(!w&&s.nodeType==3){u=s.parentNode;if(u.nodeName=="A"){u.parentNode.replaceChild(s,u)}}else{if(t.select){t.select()}v.execCommand("unLink",null)}}})});KISSY.Editor.add("plugins~resize",function(d){var e=YAHOO.util,a=e.Event,b=YAHOO.env.ua,f=d.PLUGIN_TYPE,c='<span class="ks-editor-resize-larger" title="{larger_title}">{larger_text}</span><span class="ks-editor-resize-smaller" title="{smaller_title}">{smaller_text}</span>';d.addPlugin("resize",{type:f.STATUSBAR_ITEM,contentEl:null,currentHeight:0,init:function(){this.contentEl=this.editor.container.childNodes[1];this.currentHeight=parseInt(this.contentEl.style.height);this.renderUI();this.bindUI()},renderUI:function(){var g=this.lang;this.domEl.innerHTML=c.replace(/\{([^}]+)\}/g,function(h,i){return g[i]?g[i]:i})},bindUI:function(){var h=this.domEl.getElementsByTagName("span"),j=h[0],g=h[1],i=this.contentEl;a.on(j,"click",function(){this.currentHeight+=100;this._doResize()},this,true);a.on(g,"click",function(){if(this.currentHeight<100){this.currentHeight=0}else{this.currentHeight-=100}this._doResize()},this,true)},_doResize:function(){this.contentEl.style.height=this.currentHeight+"px";this.editor.textarea.style.height=this.currentHeight+"px"}})});KISSY.Editor.add("plugins~save",function(c){var d=YAHOO.util,b=d.Event,e=c.PLUGIN_TYPE,a={b:{tag:"strong"},i:{tag:"em"},u:{tag:"span",style:"text-decoration:underline"},strike:{tag:"span",style:"text-decoration:line-through"}};c.addPlugin("save",{type:e.FUNC,init:function(){var g=this.editor,f=g.textarea,h=f.form;if(h){b.on(h,"submit",function(){if(!g.sourceMode){f.value=g.getData()}})}},filterData:function(f){f=f.replace(/<(\/?)([^>\s]+)([^>]*)>/g,function(i,k,h,g){h=h.toLowerCase();var l=a[h],j=h;if(l&&!g){j=l.tag;if(!k&&l.style){j+=' style="'+l.style+'"'}}return"<"+k+j+g+">"});if(f.indexOf("mso")>0){f=this.filterWord(f)}return f},filterWord:function(f){f=f.replace(/<(\w[^>]*) onmouseover="([^\"]*)"([^>]*)/gi,"<$1$3");f=f.replace(/<(\w[^>]*) onmouseout="([^\"]*)"([^>]*)/gi,"<$1$3");f=f.replace(/<H(\d)([^>]*)>/gi,"<h$1>");f=f.replace(/<(H\d)><FONT[^>]*>([\s\S]*?)<\/FONT><\/\1>/gi,"<$1>$2</$1>");f=f.replace(/<(H\d)><EM>([\s\S]*?)<\/EM><\/\1>/gi,"<$1>$2</$1>");f=f.replace(/<meta[^>]*>/ig,"");f=f.replace(/<link rel="\S+" href="file:[^>]*">/ig,"");f=f.replace(/<!--\[if gte mso [0-9]{1,2}\]>[\s\S]*?<!\[endif\]-->/ig,"");f=f.replace(/<style>[\s\S]*?mso[\s\S]*?<\/style>/ig,"");f=f.replace(/ lang=".+?"/ig,"");f=f.replace(/<o:p><\/o:p>/ig,"");f=f.replace(/ class="Mso.+?"/ig,"");return f}})});KISSY.Editor.add("plugins~smiley",function(j){var a=YAHOO.util,h=a.Event,c=YAHOO.lang,e=YAHOO.env.ua,d=j.PLUGIN_TYPE,g="ks-editor-smiley-dialog",f="ks-editor-smiley-icons",i="ks-editor-smiley-sprite",b={tabs:["default"]};j.addPlugin("smiley",{type:d.TOOLBAR_BUTTON,config:{},dialog:null,range:null,init:function(){this.config=c.merge(b,this.editor.config.pluginsConfig[this.name]||{});this._renderUI();this._bindUI()},_renderUI:function(){var k=j.Menu.generateDropMenu(this.editor,this.domEl,[1,0]);k.className+=" "+g;this.dialog=k;this._renderDialog();if(e.ie){j.Dom.setItemUnselectable(k)}},_renderDialog:function(){var l=j.Smilies[this.config.tabs[0]],k=l.mode;if(k==="icons"){this._renderIcons(l)}else{if(k==="sprite"){this._renderSprite(l)}}},_renderIcons:function(m){var l=this.editor.config.base+"smilies/"+m.name+"/",n=m.fileNames,s="."+m.fileExt,r=m.cols,q=[],o,p=n.length,k;q.push('<div class="'+f+'">');for(o=0;o<p;o++){k=n[o];q.push('<img src="'+l+k+s+'" alt="'+k+'" title="'+k+'" />');if(o%r===r-1){q.push("<br />")}}q.push("</div");this.dialog.innerHTML=q.join("")},_renderSprite:function(m){var q=m.base,r=m.filePattern,l="."+m.fileExt,k=r.end+1,p=r.step,n,o=[];o.push('<div class="'+i+' ks-clearfix" style="'+m.spriteStyle+'">');for(n=0;n<k;n+=p){o.push('<span data-icon="'+q+n+l+'" style="'+m.unitStyle+'"></span>')}o.push("</div");this.dialog.innerHTML=o.join("")},_bindUI:function(){var k=this;h.on(this.domEl,"click",function(){k.range=j.Range.saveRange(k.editor)});h.on(this.dialog,"click",function(l){var m=h.getTarget(l);switch(m.nodeName){case"IMG":k._insertImage(m.src,m.getAttribute("alt"));break;case"SPAN":k._insertImage(m.getAttribute("data-icon"),"");break;default:h.stopPropagation(l)}})},_insertImage:function(m,p){m=c.trim(m);if(m.length===0){return}var o=this.editor,l=this.range;if(window.getSelection){var k=o.contentDoc.createElement("img");k.src=m;k.setAttribute("alt",p);l.deleteContents();l.insertNode(k);if(e.webkit){var n=o.contentWin.getSelection();n.addRange(l);n.collapseToEnd()}else{l.setStartAfter(k)}o.contentWin.focus()}else{if(document.selection){if("text" in l){l.pasteHTML('<img src="'+m+'" alt="'+p+'" />')}else{o.execCommand("insertImage",m)}}}}})});KISSY.Editor.add("plugins~source",function(e){var f=YAHOO.util,d=f.Dom,c=YAHOO.env.ua,g=e.PLUGIN_TYPE,b="ks-editor-toolbar-button-selected",a="ks-editor-src-mode";e.addPlugin("source",{type:g.TOOLBAR_BUTTON,init:function(){var h=this.editor;this.iframe=h.contentWin.frameElement;this.textarea=h.textarea;this.iframe.parentNode.appendChild(h.textarea);d.addClass(this.domEl,"ks-editor-toolbar-source-button")},exec:function(){var h=this.editor,i=h.sourceMode;if(i){h.contentDoc.body.innerHTML=this.textarea.value}else{this.textarea.value=h.getContentDocData()}if(c.ie&&c.ie<8){h.contentDoc.selection.empty()}this.textarea.style.display=i?"none":"";this.iframe.style.display=i?"":"none";h.sourceMode=!i;this._updateButtonState()},_updateButtonState:function(){var h=this.editor,i=h.sourceMode;if(i){d.addClass(h.container,a);d.addClass(this.domEl,b)}else{d.removeClass(h.container,a);d.removeClass(this.domEl,b)}}})});KISSY.Editor.add("plugins~undo",function(a){var b=a.PLUGIN_TYPE;a.addPlugin(["undo","redo"],{type:b.TOOLBAR_BUTTON,exec:function(){this.editor.execCommand(this.name)}})});KISSY.Editor.add("plugins~wordcount",function(f){var g=YAHOO.util,c=g.Dom,b=g.Event,e=YAHOO.lang,h=f.PLUGIN_TYPE,d="ks-editor-wordcount-alarm",a={total:20000,threshold:100};f.addPlugin("wordcount",{type:h.STATUSBAR_ITEM,total:Infinity,remain:Infinity,threshold:0,remainEl:null,init:function(){var j=e.merge(a,this.editor.config.pluginsConfig[this.name]||{});this.total=j.total;this.threshold=j.threshold;this.renderUI();this.bindUI();var i=this;setTimeout(function(){i.syncUI()},50)},renderUI:function(){this.domEl.innerHTML=this.lang.tmpl.replace("%remain%","<em>"+this.total+"</em>");this.remainEl=this.domEl.getElementsByTagName("em")[0]},bindUI:function(){var i=this.editor;b.on(i.textarea,"keyup",this.syncUI,this,true);b.on(i.contentDoc,"keyup",this.syncUI,this,true);b.on(i.container,"click",this.syncUI,this,true)},syncUI:function(){this.remain=this.total-this.editor.getData().length;this.remainEl.innerHTML=this.remain;if(this.remain<=this.threshold){c.addClass(this.domEl,d)}else{c.removeClass(this.domEl,d)}}})});

