editor-min.js revision ccdd0fb5433f464069314b58d7a7e4382ece41e3
YUI.add("frame",function(d){var a=function(){a.superclass.constructor.apply(this,arguments);},c=":last-child",b="body";d.extend(a,d.Base,{_ready:null,_rendered:null,_iframe:null,_instance:null,_create:function(e){var k,j,g,i;this._iframe=d.Node.create(a.HTML);this._iframe.setStyle("visibility","hidden");this._iframe.set("src",this.get("src"));this.get("container").append(this._iframe);this._iframe.set("height","99%");var f="",h=((this.get("extracss"))?'<style id="extra_css">'+this.get("extracss")+"</style>":"");f=d.substitute(a.PAGE_HTML,{DIR:this.get("dir"),LANG:this.get("lang"),TITLE:this.get("title"),META:a.META,LINKED_CSS:this.get("linkedcss"),CONTENT:this.get("content"),BASE_HREF:this.get("basehref"),DEFAULT_CSS:a.DEFAULT_CSS,EXTRA_CSS:h});if(d.config.doc.compatMode!="BackCompat"){f=a.getDocType()+"\n"+f;}else{}g=this._resolveWinDoc();g.doc.open();g.doc.write(f);g.doc.close();if(!g.doc.documentElement){var l=d.later(1,this,function(){if(g.doc&&g.doc.documentElement){e(g);l.cancel();}},null,true);}else{e(g);}},_resolveWinDoc:function(f){var e=(f)?f:{};e.win=d.Node.getDOMNode(this._iframe.get("contentWindow"));e.doc=d.Node.getDOMNode(this._iframe.get("contentWindow.document"));if(!e.doc){e.doc=d.config.doc;}if(!e.win){e.win=d.config.win;}return e;},_onDomEvent:function(h){var g,f;h.frameX=h.frameY=0;if(h.pageX>0||h.pageY>0){if(h.type.substring(0,3)!=="key"){f=this._instance.one("win");g=this._iframe.getXY();h.frameX=g[0]+h.pageX-f.get("scrollLeft");h.frameY=g[1]+h.pageY-f.get("scrollTop");}}h.frameTarget=h.target;h.frameCurrentTarget=h.currentTarget;h.frameEvent=h;this.fire("dom:"+h.type,h);},initializer:function(){this.publish("ready",{emitFacade:true,defaultFn:this._defReadyFn});},destructor:function(){var e=this.getInstance();e.one("doc").detachAll();e=null;this._iframe.remove();},_DOMPaste:function(i){var g=this.getInstance(),f="",h=g.config.win;if(i._event.originalTarget){f=i._event.originalTarget;}if(i._event.clipboardData){f=i._event.clipboardData.getData("Text");}if(h.clipboardData){f=h.clipboardData.getData("Text");if(f===""){if(!h.clipboardData.setData("Text",f)){f=null;}}}i.frameTarget=i.target;i.frameCurrentTarget=i.currentTarget;i.frameEvent=i;if(f){i.clipboardData={data:f,getData:function(){return f;}};}else{i.clipboardData=null;}this.fire("dom:paste",i);},_defReadyFn:function(){var e=this.getInstance();d.each(a.DOM_EVENTS,function(g,f){var h=d.bind(this._onDomEvent,this),i=((d.UA.ie&&a.THROTTLE_TIME>0)?d.throttle(h,a.THROTTLE_TIME):h);if(!e.Node.DOM_EVENTS[f]){e.Node.DOM_EVENTS[f]=1;}if(g===1){if(f!=="focus"&&f!=="blur"&&f!=="paste"){if(f.substring(0,3)==="key"){e.on(f,i,e.config.doc);}else{e.on(f,h,e.config.doc);}}}},this);e.Node.DOM_EVENTS.paste=1;e.on("paste",d.bind(this._DOMPaste,this),e.one("body"));e.on("focus",d.bind(this._onDomEvent,this),e.config.win);e.on("blur",d.bind(this._onDomEvent,this),e.config.win);e._use=e.use;e.use=d.bind(this.use,this);this._iframe.setStyles({visibility:"inherit"});e.one("body").setStyle("display","block");if(d.UA.ie){this._fixIECursors();}},_fixIECursors:function(){var h=this.getInstance(),f=h.all("table"),g=h.all("br"),e;if(f.size()&&g.size()){e=f.item(0).get("sourceIndex");g.each(function(l){var j=l.get("parentNode"),k=j.get("children"),i=j.all(">br");if(j.test("div")){if(k.size()>2){l.replace(h.Node.create("<wbr>"));}else{if(l.get("sourceIndex")>e){if(i.size()){l.replace(h.Node.create("<wbr>"));}}else{if(i.size()>1){l.replace(h.Node.create("<wbr>"));}}}}});}},_onContentReady:function(h){if(!this._ready){this._ready=true;var g=this.getInstance(),f=d.clone(this.get("use"));this.fire("contentready");if(h){g.config.doc=d.Node.getDOMNode(h.target);}f.push(d.bind(function(){if(g.Selection){g.Selection.DEFAULT_BLOCK_TAG=this.get("defaultblock");}if(this.get("designMode")){if(d.UA.ie){g.config.doc.body.contentEditable="true";this._ieSetBodyHeight();g.on("keyup",d.bind(this._ieSetBodyHeight,this),g.config.doc);}else{g.config.doc.designMode="on";}}this.fire("ready");},this));g.use.apply(g,f);g.one("doc").get("documentElement").addClass("yui-js-enabled");}},_ieHeightCounter:null,_ieSetBodyHeight:function(k){if(!this._ieHeightCounter){this._ieHeightCounter=0;}this._ieHeightCounter++;var j=false;if(!k){j=true;}if(k){switch(k.keyCode){case 8:case 13:j=true;break;}if(k.ctrlKey||k.shiftKey){j=true;}}if(j){try{var i=this.getInstance();var g=this._iframe.get("offsetHeight");var f=i.config.doc.body.scrollHeight;if(g>f){g=(g-15)+"px";i.config.doc.body.style.height=g;}else{i.config.doc.body.style.height="auto";}}catch(k){if(this._ieHeightCounter<100){d.later(200,this,this._ieSetBodyHeight);}else{}}}},_resolveBaseHref:function(e){if(!e||e===""){e=d.config.doc.location.href;if(e.indexOf("?")!==-1){e=e.substring(0,e.indexOf("?"));}e=e.substring(0,e.lastIndexOf("/"))+"/";}return e;},_getHTML:function(e){if(this._ready){var f=this.getInstance();e=f.one("body").get("innerHTML");}return e;},_setHTML:function(e){if(this._ready){var f=this.getInstance();f.one("body").set("innerHTML",e);}else{this.on("contentready",d.bind(function(g,i){var h=this.getInstance();h.one("body").set("innerHTML",g);},this,e));}return e;},_getLinkedCSS:function(e){if(!d.Lang.isArray(e)){e=[e];}var f="";if(!this._ready){d.each(e,function(g){if(g!==""){f+='<link rel="stylesheet" href="'+g+'" type="text/css">';}});}else{f=e;}return f;},_setLinkedCSS:function(e){if(this._ready){var f=this.getInstance();f.Get.css(e);}return e;},_setExtraCSS:function(e){if(this._ready){var g=this.getInstance(),f=g.one("#extra_css");f.remove();g.one("head").append('<style id="extra_css">'+e+"</style>");}return e;},_instanceLoaded:function(f){this._instance=f;this._onContentReady();var g=this._instance.config.doc;if(this.get("designMode")){if(!d.UA.ie){try{g.execCommand("styleWithCSS",false,false);g.execCommand("insertbronreturn",false,false);}catch(e){}}}},use:function(){var g=this.getInstance(),f=d.Array(arguments),e=false;if(d.Lang.isFunction(f[f.length-1])){e=f.pop();}if(e){f.push(function(){e.apply(g,arguments);
});}g._use.apply(g,f);},delegate:function(g,f,e,i){var h=this.getInstance();if(!h){return false;}if(!i){i=e;e="body";}return h.delegate(g,f,e,i);},getInstance:function(){return this._instance;},render:function(e){if(this._rendered){return this;}this._rendered=true;if(e){this.set("container",e);}this._create(d.bind(function(i){var k,l,f=d.bind(function(m){this._instanceLoaded(m);},this),h=d.clone(this.get("use")),g={debug:false,win:i.win,doc:i.doc},j=d.bind(function(){g=this._resolveWinDoc(g);k=YUI(g);try{k.use("node-base",f);if(l){clearInterval(l);}}catch(m){l=setInterval(function(){j();},350);}},this);h.push(j);d.use.apply(d,h);},this));return this;},_handleFocus:function(){var h=this.getInstance(),g=new h.Selection();if(g.anchorNode){var j=g.anchorNode,i;if(j.test("p")&&j.get("innerHTML")===""){j=j.get("parentNode");}i=j.get("childNodes");if(i.size()){if(i.item(0).test("br")){g.selectNode(j,true,false);}else{if(i.item(0).test("p")){j=i.item(0).one("br.yui-cursor");if(j){j=j.get("parentNode");}if(!j){j=i.item(0).get("firstChild");}if(!j){j=i.item(0);}if(j){g.selectNode(j,true,false);}}else{var e=h.one("br.yui-cursor");if(e){var f=e.get("parentNode");if(f){g.selectNode(f,true,false);}}}}}}},focus:function(e){if(d.UA.ie&&d.UA.ie<9){try{d.one("win").focus();this.getInstance().one("win").focus();}catch(g){}if(e===true){this._handleFocus();}if(d.Lang.isFunction(e)){e();}}else{try{d.one("win").focus();d.later(100,this,function(){this.getInstance().one("win").focus();if(e===true){this._handleFocus();}if(d.Lang.isFunction(e)){e();}});}catch(f){}}return this;},show:function(){this._iframe.setStyles({position:"static",left:""});if(d.UA.gecko){try{this._instance.config.doc.designMode="on";}catch(f){}this.focus();}return this;},hide:function(){this._iframe.setStyles({position:"absolute",left:"-999999px"});return this;}},{THROTTLE_TIME:100,DOM_EVENTS:{dblclick:1,click:1,paste:1,mouseup:1,mousedown:1,keyup:1,keydown:1,keypress:1,activate:1,deactivate:1,beforedeactivate:1,focusin:1,focusout:1},DEFAULT_CSS:"body { background-color: #fff; font: 13px/1.22 arial,helvetica,clean,sans-serif;*font-size:small;*font:x-small; } a, a:visited, a:hover { color: blue !important; text-decoration: underline !important; cursor: text !important; } img { cursor: pointer !important; border: none; }",HTML:'<iframe border="0" frameBorder="0" marginWidth="0" marginHeight="0" leftMargin="0" topMargin="0" allowTransparency="true" width="100%" height="99%"></iframe>',PAGE_HTML:'<html dir="{DIR}" lang="{LANG}"><head><title>{TITLE}</title>{META}<base href="{BASE_HREF}"/>{LINKED_CSS}<style id="editor_css">{DEFAULT_CSS}</style>{EXTRA_CSS}</head><body>{CONTENT}</body></html>',getDocType:function(){var e=d.config.doc.doctype,f=a.DOC_TYPE;if(e){f="<!DOCTYPE "+e.name+((e.publicId)?" "+e.publicId:"")+((e.systemId)?" "+e.systemId:"")+">";}else{if(d.config.doc.all){e=d.config.doc.all[0];if(e.nodeType){if(e.nodeType===8){if(e.nodeValue){if(e.nodeValue.toLowerCase().indexOf("doctype")!==-1){f="<!"+e.nodeValue+">";}}}}}}return f;},DOC_TYPE:'<!DOCTYPE HTML PUBLIC "-/'+"/W3C/"+"/DTD HTML 4.01/"+'/EN" "http:/'+'/www.w3.org/TR/html4/strict.dtd">',META:'<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/><meta http-equiv="X-UA-Compatible" content="IE=7">',NAME:"frame",ATTRS:{title:{value:"Blank Page"},dir:{value:"ltr"},lang:{value:"en-US"},src:{value:"javascript"+((d.UA.ie)?":false":":")+";"},designMode:{writeOnce:true,value:false},content:{value:"<br>",setter:"_setHTML",getter:"_getHTML"},basehref:{value:false,getter:"_resolveBaseHref"},use:{writeOnce:true,value:["substitute","node","node-style","selector-css3"]},container:{value:"body",setter:function(e){return d.one(e);}},node:{readOnly:true,value:null,getter:function(){return this._iframe;}},id:{writeOnce:true,getter:function(e){if(!e){e="iframe-"+d.guid();}return e;}},linkedcss:{value:"",getter:"_getLinkedCSS",setter:"_setLinkedCSS"},extracss:{value:"",setter:"_setExtraCSS"},host:{value:false},defaultblock:{value:"p"}}});d.Frame=a;},"@VERSION@",{requires:["base","node","selector-css3","substitute","yui-throttle"],skinnable:false});YUI.add("selection",function(b){var a="textContent",d="innerHTML",c="fontFamily";if(b.UA.ie){a="nodeValue";}b.Selection=function(o){var j,p,f,g,e,l;if(b.config.win.getSelection){j=b.config.win.getSelection();}else{if(b.config.doc.selection){j=b.config.doc.selection.createRange();}}this._selection=j;if(j.pasteHTML){this.isCollapsed=(j.compareEndPoints("StartToEnd",j))?false:true;if(this.isCollapsed){this.anchorNode=this.focusNode=b.one(j.parentElement());if(o){f=b.config.doc.elementFromPoint(o.clientX,o.clientY);}e=j.duplicate();if(!f){p=j.parentElement();g=p.childNodes;for(l=0;l<g.length;l++){if(e.inRange(j)){if(!f){f=g[l];}}}}this.ieNode=f;if(f){if(f.nodeType!==3){if(f.firstChild){f=f.firstChild;}if(f&&f.tagName&&f.tagName.toLowerCase()==="body"){if(f.firstChild){f=f.firstChild;}}}this.anchorNode=this.focusNode=b.Selection.resolve(f);e.moveToElementText(j.parentElement());var m=j.compareEndPoints("StartToStart",e),q=0;if(m){q=Math.abs(j.move("character",-9999));}this.anchorOffset=this.focusOffset=q;this.anchorTextNode=this.focusTextNode=b.one(f);}}else{if(j.htmlText&&j.htmlText!==""){var k=b.Node.create(j.htmlText);if(k&&k.get("id")){var h=k.get("id");this.anchorNode=this.focusNode=b.one("#"+h);}else{if(k){k=k.get("childNodes");this.anchorNode=this.focusNode=k.item(0);}}}}}else{this.isCollapsed=j.isCollapsed;this.anchorNode=b.Selection.resolve(j.anchorNode);this.focusNode=b.Selection.resolve(j.focusNode);this.anchorOffset=j.anchorOffset;this.focusOffset=j.focusOffset;this.anchorTextNode=b.one(j.anchorNode);this.focusTextNode=b.one(j.focusNode);}if(b.Lang.isString(j.text)){this.text=j.text;}else{if(j.toString){this.text=j.toString();}else{this.text="";}}};b.Selection.removeFontFamily=function(f){f.removeAttribute("face");var e=f.getAttribute("style").toLowerCase();if(e===""||(e=="font-family: ")){f.removeAttribute("style");}if(e.match(b.Selection.REG_FONTFAMILY)){e=e.replace(b.Selection.REG_FONTFAMILY,"");
f.setAttribute("style",e);}};b.Selection.filter=function(e){var h=(new Date()).getTime();var g=b.all(b.Selection.ALL),k=b.all("strong,em"),n=b.config.doc,p,f={},i="",l;var j=(new Date()).getTime();g.each(function(r){var q=b.Node.getDOMNode(r);if(q.style[c]){f["."+r._yuid]=q.style[c];r.addClass(r._yuid);b.Selection.removeFontFamily(q);}});var o=(new Date()).getTime();b.all(".hr").addClass("yui-skip").addClass("yui-non");if(b.UA.ie){p=n.getElementsByTagName("hr");b.each(p,function(t){var r=n.createElement("div");r.className="hr yui-non yui-skip";r.setAttribute("readonly",true);r.setAttribute("contenteditable",false);if(t.parentNode){t.parentNode.replaceChild(r,t);}var q=r.style;q.border="1px solid #ccc";q.lineHeight="0";q.height="0";q.fontSize="0";q.marginTop="5px";q.marginBottom="5px";q.marginLeft="0px";q.marginRight="0px";q.padding="0";});}b.each(f,function(r,q){i+=q+" { font-family: "+r.replace(/"/gi,"")+"; }";});b.StyleSheet(i,"editor");k.each(function(u,q){var r=u.get("tagName").toLowerCase(),s="i";if(r==="strong"){s="b";}b.Selection.prototype._swap(k.item(q),s);});l=b.all("ol,ul");l.each(function(r,q){var s=r.all("li");if(!s.size()){r.remove();}});if(e){b.Selection.filterBlocks();}var m=(new Date()).getTime();};b.Selection.filterBlocks=function(){var f=(new Date()).getTime();var n=b.config.doc.body.childNodes,h,g,q=false,k=true,e,r,t,p,m,o,u;if(n){for(h=0;h<n.length;h++){g=b.one(n[h]);if(!g.test(b.Selection.BLOCKS)){k=true;if(n[h].nodeType==3){o=n[h][a].match(b.Selection.REG_CHAR);u=n[h][a].match(b.Selection.REG_NON);if(o===null&&u){k=false;}}if(k){if(!q){q=[];}q.push(n[h]);}}else{q=b.Selection._wrapBlock(q);}}q=b.Selection._wrapBlock(q);}r=b.all(b.Selection.DEFAULT_BLOCK_TAG);if(r.size()===1){t=r.item(0).all("br");if(t.size()===1){if(!t.item(0).test(".yui-cursor")){t.item(0).remove();}var j=r.item(0).get("innerHTML");if(j===""||j===" "){r.set("innerHTML",b.Selection.CURSOR);e=new b.Selection();e.focusCursor(true,true);}if(t.item(0).test(".yui-cursor")&&b.UA.ie){t.item(0).remove();}}}else{r.each(function(s){var i=s.get("innerHTML");if(i===""){s.remove();}});}if(!b.UA.ie){}var l=(new Date()).getTime();};b.Selection.REG_FONTFAMILY=/font-family: ;/;b.Selection.REG_CHAR=/[a-zA-Z-0-9_!@#\$%\^&*\(\)-=_+\[\]\\{}|;':",.\/<>\?]/gi;b.Selection.REG_NON=/[\s|\n|\t]/gi;b.Selection.REG_NOHTML=/<\S[^><]*>/g;b.Selection._wrapBlock=function(f){if(f){var e=b.Node.create("<"+b.Selection.DEFAULT_BLOCK_TAG+"></"+b.Selection.DEFAULT_BLOCK_TAG+">"),h=b.one(f[0]),g;for(g=1;g<f.length;g++){e.append(f[g]);}h.replace(e);e.prepend(h);}return false;};b.Selection.unfilter=function(){var g=b.all("body [class]"),h="",f,i,e=b.one("body");g.each(function(j){if(j.hasClass(j._yuid)){j.setStyle(c,j.getStyle(c));j.removeClass(j._yuid);if(j.getAttribute("class")===""){j.removeAttribute("class");}}});f=b.all(".yui-non");f.each(function(j){if(!j.hasClass("yui-skip")&&j.get("innerHTML")===""){j.remove();}else{j.removeClass("yui-non").removeClass("yui-skip");}});i=b.all("body [id]");i.each(function(j){if(j.get("id").indexOf("yui_3_")===0){j.removeAttribute("id");j.removeAttribute("_yuid");}});if(e){h=e.get("innerHTML");}b.all(".hr").addClass("yui-skip").addClass("yui-non");return h;};b.Selection.resolve=function(f){if(f&&f.nodeType===3){try{f=f.parentNode;}catch(e){f="body";}}return b.one(f);};b.Selection.getText=function(f){var e=f.get("innerHTML").replace(b.Selection.REG_NOHTML,"");e=e.replace("<span><br></span>","").replace("<br>","");return e;};b.Selection.DEFAULT_BLOCK_TAG="p";b.Selection.ALL="[style],font[face]";b.Selection.BLOCKS="p,div,ul,ol,table,style";b.Selection.TMP="yui-tmp";b.Selection.DEFAULT_TAG="span";b.Selection.CURID="yui-cursor";b.Selection.CUR_WRAPID="yui-cursor-wrapper";b.Selection.CURSOR='<span><br class="yui-cursor"></span>';b.Selection.hasCursor=function(){var e=b.all("#"+b.Selection.CUR_WRAPID);return e.size();};b.Selection.cleanCursor=function(){var f,e="br.yui-cursor";f=b.all(e);if(f.size()){f.each(function(g){var i=g.get("parentNode.parentNode.childNodes"),h;if(i.size()){g.remove();}else{h=b.Selection.getText(i.item(0));if(h!==""){g.remove();}}});}};b.Selection.prototype={text:null,isCollapsed:null,anchorNode:null,anchorOffset:null,anchorTextNode:null,focusNode:null,focusOffset:null,focusTextNode:null,_selection:null,_wrap:function(g,e){var f=b.Node.create("<"+e+"></"+e+">");f.set(d,g.get(d));g.set(d,"");g.append(f);return b.Node.getDOMNode(f);},_swap:function(g,e){var f=b.Node.create("<"+e+"></"+e+">");f.set(d,g.get(d));g.replace(f,g);return b.Node.getDOMNode(f);},getSelected:function(){b.Selection.filter();b.config.doc.execCommand("fontname",null,b.Selection.TMP);var f=b.all(b.Selection.ALL),e=[];f.each(function(h,g){if(h.getStyle(c)==b.Selection.TMP){h.setStyle(c,"");b.Selection.removeFontFamily(h);if(!h.test("body")){e.push(b.Node.getDOMNode(f.item(g)));}}});return b.all(e);},insertContent:function(e){return this.insertAtCursor(e,this.anchorTextNode,this.anchorOffset,true);},insertAtCursor:function(l,g,i,o){var q=b.Node.create("<"+b.Selection.DEFAULT_TAG+' class="yui-non"></'+b.Selection.DEFAULT_TAG+">"),f,j,h,p,k=this.createRange(),n;if(g&&g.test("body")){n=b.Node.create("<span></span>");g.append(n);g=n;}if(k.pasteHTML){if(i===0&&g&&!g.previous()&&g.get("nodeType")===3){g.insert(l,"before");if(k.moveToElementText){k.moveToElementText(b.Node.getDOMNode(g.previous()));}k.collapse(false);k.select();return g.previous();}else{p=b.Node.create(l);try{k.pasteHTML('<span id="rte-insert"></span>');}catch(m){}f=b.one("#rte-insert");if(f){f.set("id","");f.replace(p);if(k.moveToElementText){k.moveToElementText(b.Node.getDOMNode(p));}k.collapse(false);k.select();return p;}else{b.on("available",function(){f.set("id","");f.replace(p);if(k.moveToElementText){k.moveToElementText(b.Node.getDOMNode(p));}k.collapse(false);k.select();},"#rte-insert");}}}else{if(i>0){f=g.get(a);j=b.one(b.config.doc.createTextNode(f.substr(0,i)));h=b.one(b.config.doc.createTextNode(f.substr(i)));g.replace(j,g);p=b.Node.create(l);if(p.get("nodeType")===11){n=b.Node.create("<span></span>");
n.append(p);p=n;}j.insert(p,"after");if(h){p.insert(q,"after");q.insert(h,"after");this.selectNode(q,o);}}else{if(g.get("nodeType")===3){g=g.get("parentNode");}p=b.Node.create(l);l=g.get("innerHTML").replace(/\n/gi,"");if(l===""||l==="<br>"){g.append(p);}else{if(p.get("parentNode")){g.insert(p,"before");}else{b.one("body").prepend(p);}}if(g.get("firstChild").test("br")){g.get("firstChild").remove();}}}return p;},wrapContent:function(f){f=(f)?f:b.Selection.DEFAULT_TAG;if(!this.isCollapsed){var h=this.getSelected(),k=[],g,i,j,e;h.each(function(o,l){var m=o.get("tagName").toLowerCase();if(m==="font"){k.push(this._swap(h.item(l),f));}else{k.push(this._wrap(h.item(l),f));}},this);g=this.createRange();j=k[0];i=k[k.length-1];if(this._selection.removeAllRanges){g.setStart(k[0],0);g.setEnd(i,i.childNodes.length);this._selection.removeAllRanges();this._selection.addRange(g);}else{if(g.moveToElementText){g.moveToElementText(b.Node.getDOMNode(j));e=this.createRange();e.moveToElementText(b.Node.getDOMNode(i));g.setEndPoint("EndToEnd",e);}g.select();}k=b.all(k);return k;}else{return b.all([]);}},replace:function(k,i){var f=this.createRange(),j,e,g,h;if(f.getBookmark){g=f.getBookmark();e=this.anchorNode.get("innerHTML").replace(k,i);this.anchorNode.set("innerHTML",e);f.moveToBookmark(g);h=b.one(f.parentElement());}else{j=this.anchorTextNode;e=j.get(a);g=e.indexOf(k);e=e.replace(k,"");j.set(a,e);h=this.insertAtCursor(i,j,g,true);}return h;},remove:function(){this._selection.removeAllRanges();return this;},createRange:function(){if(b.config.doc.selection){return b.config.doc.selection.createRange();}else{return b.config.doc.createRange();}},selectNode:function(i,k,f){if(!i){return;}f=f||0;i=b.Node.getDOMNode(i);var g=this.createRange();if(g.selectNode){g.selectNode(i);this._selection.removeAllRanges();this._selection.addRange(g);if(k){try{this._selection.collapse(i,f);}catch(h){this._selection.collapse(i,0);}}}else{if(i.nodeType===3){i=i.parentNode;}try{g.moveToElementText(i);}catch(j){}if(k){g.collapse(((f)?false:true));}g.select();}return this;},setCursor:function(){this.removeCursor(false);return this.insertContent(b.Selection.CURSOR);},getCursor:function(){return b.all("#"+b.Selection.CURID);},removeCursor:function(e){var f=this.getCursor();if(f){if(e){f.removeAttribute("id");f.set("innerHTML",'<br class="yui-cursor">');}else{f.remove();}}return f;},focusCursor:function(g,e){if(g!==false){g=true;}if(e!==false){e=true;}var f=this.removeCursor(true);if(f){f.each(function(h){this.selectNode(h,g,e);},this);}},toString:function(){return"Selection Object";}};},"@VERSION@",{requires:["node"],skinnable:false});YUI.add("exec-command",function(b){var a=function(){a.superclass.constructor.apply(this,arguments);};b.extend(a,b.Base,{_lastKey:null,_inst:null,command:function(f,e){var d=a.COMMANDS[f];if(d){return d.call(this,f,e);}else{return this._command(f,e);}},_command:function(g,f){var d=this.getInstance();try{try{d.config.doc.execCommand("styleWithCSS",null,1);}catch(j){try{d.config.doc.execCommand("useCSS",null,0);}catch(i){}}d.config.doc.execCommand(g,null,f);}catch(h){}},getInstance:function(){if(!this._inst){this._inst=this.get("host").getInstance();}return this._inst;},initializer:function(){b.mix(this.get("host"),{execCommand:function(e,d){return this.exec.command(e,d);},_execCommand:function(e,d){return this.exec._command(e,d);}});this.get("host").on("dom:keypress",b.bind(function(d){this._lastKey=d.keyCode;},this));}},{NAME:"execCommand",NS:"exec",ATTRS:{host:{value:false}},COMMANDS:{wrap:function(f,d){var e=this.getInstance();return(new e.Selection()).wrapContent(d);},inserthtml:function(f,d){var e=this.getInstance();if(e.Selection.hasCursor()||b.UA.ie){return(new e.Selection()).insertContent(d);}else{this._command("inserthtml",d);}},insertandfocus:function(h,e){var g=this.getInstance(),d,f;if(g.Selection.hasCursor()){e+=g.Selection.CURSOR;d=this.command("inserthtml",e);f=new g.Selection();f.focusCursor(true,true);}else{this.command("inserthtml",e);}return d;},insertbr:function(j){var i=this.getInstance(),h=new i.Selection(),d="<var>|</var>",e=null,g=(b.UA.webkit)?"span.Apple-style-span,var":"var";if(h._selection.pasteHTML){h._selection.pasteHTML(d);}else{this._command("inserthtml",d);}var f=function(l){var k=i.Node.create("<br>");l.insert(k,"before");return k;};i.all(g).each(function(m){var l=true;if(b.UA.webkit){l=false;if(m.get("innerHTML")==="|"){l=true;}}if(l){e=f(m);if((!e.previous()||!e.previous().test("br"))&&b.UA.gecko){var k=e.cloneNode();e.insert(k,"after");e=k;}m.remove();}});if(b.UA.webkit&&e){f(e);h.selectNode(e);}},insertimage:function(e,d){return this.command("inserthtml",'<img src="'+d+'">');},addclass:function(f,d){var e=this.getInstance();return(new e.Selection()).getSelected().addClass(d);},removeclass:function(f,d){var e=this.getInstance();return(new e.Selection()).getSelected().removeClass(d);},forecolor:function(f,g){var e=this.getInstance(),d=new e.Selection(),h;if(!b.UA.ie){this._command("useCSS",false);}if(e.Selection.hasCursor()){if(d.isCollapsed){if(d.anchorNode&&(d.anchorNode.get("innerHTML")===" ")){d.anchorNode.setStyle("color",g);h=d.anchorNode;}else{h=this.command("inserthtml",'<span style="color: '+g+'">'+e.Selection.CURSOR+"</span>");d.focusCursor(true,true);}return h;}else{return this._command(f,g);}}else{this._command(f,g);}},backcolor:function(f,g){var e=this.getInstance(),d=new e.Selection(),h;if(b.UA.gecko||b.UA.opera){f="hilitecolor";}if(!b.UA.ie){this._command("useCSS",false);}if(e.Selection.hasCursor()){if(d.isCollapsed){if(d.anchorNode&&(d.anchorNode.get("innerHTML")===" ")){d.anchorNode.setStyle("backgroundColor",g);h=d.anchorNode;}else{h=this.command("inserthtml",'<span style="background-color: '+g+'">'+e.Selection.CURSOR+"</span>");d.focusCursor(true,true);}return h;}else{return this._command(f,g);}}else{this._command(f,g);}},hilitecolor:function(){return a.COMMANDS.backcolor.apply(this,arguments);},fontname2:function(f,g){this._command("fontname",g);
var e=this.getInstance(),d=new e.Selection();if(d.isCollapsed&&(this._lastKey!=32)){if(d.anchorNode.test("font")){d.anchorNode.set("face",g);}}},fontsize2:function(f,h){this._command("fontsize",h);var e=this.getInstance(),d=new e.Selection();if(d.isCollapsed&&d.anchorNode&&(this._lastKey!=32)){if(b.UA.webkit){if(d.anchorNode.getStyle("lineHeight")){d.anchorNode.setStyle("lineHeight","");}}if(d.anchorNode.test("font")){d.anchorNode.set("size",h);}else{if(b.UA.gecko){var g=d.anchorNode.ancestor(e.Selection.DEFAULT_BLOCK_TAG);if(g){g.setStyle("fontSize","");}}}}},insertunorderedlist:function(d){this.command("list","ul");},insertorderedlist:function(d){this.command("list","ol");},list:function(u,y){var f=this.getInstance(),h,t="dir",e="yui3-touched",m,k,l,g,o,q,i,j,w,d,r=new f.Selection();u="insert"+((y==="ul")?"un":"")+"orderedlist";if(b.UA.ie&&!r.isCollapsed){k=r._selection;h=k.htmlText;l=f.Node.create(h);if(l.test("li")||l.one("li")){this._command(u,null);return;}if(l.test(y)){g=k.item?k.item(0):k.parentElement();o=f.one(g);d=o.all("li");q="<div>";d.each(function(n){q+=n.get("innerHTML")+"<br>";});q+="</div>";i=f.Node.create(q);if(o.get("parentNode").test("div")){o=o.get("parentNode");}if(o&&o.hasAttribute(t)){i.setAttribute(t,o.getAttribute(t));}o.replace(i);if(k.moveToElementText){k.moveToElementText(i._node);}k.select();}else{j=b.one(k.parentElement());if(!j.test(f.Selection.BLOCKS)){j=j.ancestor(f.Selection.BLOCKS);}if(j){if(j.hasAttribute(t)){m=j.getAttribute(t);}}if(h.indexOf("<br>")>-1){h=h.split(/<br>/i);}else{var x=f.Node.create(h),p=x.all("p");if(p.size()){h=[];p.each(function(s){h.push(s.get("innerHTML"));});}else{h=[h];}}w="<"+y+' id="ie-list">';b.each(h,function(s){var n=f.Node.create(s);if(n.test("p")){if(n.hasAttribute(t)){m=n.getAttribute(t);}s=n.get("innerHTML");}w+="<li>"+s+"</li>";});w+="</"+y+">";k.pasteHTML(w);g=f.config.doc.getElementById("ie-list");g.id="";if(m){g.setAttribute(t,m);}if(k.moveToElementText){k.moveToElementText(g);}k.select();}}else{if(b.UA.ie){j=f.one(r._selection.parentElement());if(j.test("p")){if(j&&j.hasAttribute(t)){m=j.getAttribute(t);}h=b.Selection.getText(j);if(h===""){var v="";if(m){v=' dir="'+m+'"';}w=f.Node.create(b.Lang.sub("<{tag}{dir}><li></li></{tag}>",{tag:y,dir:v}));j.replace(w);r.selectNode(w.one("li"));}else{this._command(u,null);}}else{this._command(u,null);}}else{f.all(y).addClass(e);if(r.anchorNode.test(f.Selection.BLOCKS)){j=r.anchorNode;}else{j=r.anchorNode.ancestor(f.Selection.BLOCKS);}if(j&&j.hasAttribute(t)){m=j.getAttribute(t);}this._command(u,null);w=f.all(y);if(m){w.each(function(s){if(!s.hasClass(e)){s.setAttribute(t,m);}});}w.removeClass(e);}}},justify:function(i,j){if(b.UA.webkit){var h=this.getInstance(),g=new h.Selection(),d=g.anchorNode;var f=d.getStyle("backgroundColor");this._command(j);g=new h.Selection();if(g.anchorNode.test("div")){var e="<span>"+g.anchorNode.get("innerHTML")+"</span>";g.anchorNode.set("innerHTML",e);g.anchorNode.one("span").setStyle("backgroundColor",f);g.selectNode(g.anchorNode.one("span"));}}else{this._command(j);}},justifycenter:function(d){this.command("justify","justifycenter");},justifyleft:function(d){this.command("justify","justifyleft");},justifyright:function(d){this.command("justify","justifyright");},justifyfull:function(d){this.command("justify","justifyfull");}}});var c=function(j,v,r){var k=this.getInstance(),t=k.config.doc,h=t.selection.createRange(),g=t.queryCommandValue(j),l,f,i,e,n,u,q;if(g){l=h.htmlText;f=new RegExp(r,"g");i=l.match(f);if(i){l=l.replace(r+";","").replace(r,"");h.pasteHTML('<var id="yui-ie-bs">');e=t.getElementById("yui-ie-bs");n=t.createElement("div");u=t.createElement(v);n.innerHTML=l;if(e.parentNode!==k.config.doc.body){e=e.parentNode;}q=n.childNodes;e.parentNode.replaceChild(u,e);b.each(q,function(d){u.appendChild(d);});h.collapse();if(h.moveToElementText){h.moveToElementText(u);}h.select();}}this._command(j);};if(b.UA.ie){a.COMMANDS.bold=function(){c.call(this,"bold","b","FONT-WEIGHT: bold");};a.COMMANDS.italic=function(){c.call(this,"italic","i","FONT-STYLE: italic");};a.COMMANDS.underline=function(){c.call(this,"underline","u","TEXT-DECORATION: underline");};}b.namespace("Plugin");b.Plugin.ExecCommand=a;},"@VERSION@",{requires:["frame"],skinnable:false});YUI.add("editor-tab",function(c){var b=function(){b.superclass.constructor.apply(this,arguments);},a="host";c.extend(b,c.Base,{_onNodeChange:function(f){var d="indent";if(f.changedType==="tab"){if(!f.changedNode.test("li, li *")){f.changedEvent.halt();f.preventDefault();if(f.changedEvent.shiftKey){d="outdent";}this.get(a).execCommand(d,"");}}},initializer:function(){this.get(a).on("nodeChange",c.bind(this._onNodeChange,this));}},{NAME:"editorTab",NS:"tab",ATTRS:{host:{value:false}}});c.namespace("Plugin");c.Plugin.EditorTab=b;},"@VERSION@",{requires:["editor-base"],skinnable:false});YUI.add("createlink-base",function(b){var a={};a.STRINGS={PROMPT:"Please enter the URL for the link to point to:",DEFAULT:"http://"};b.namespace("Plugin");b.Plugin.CreateLinkBase=a;b.mix(b.Plugin.ExecCommand.COMMANDS,{createlink:function(i){var h=this.get("host").getInstance(),e,c,g,f,d=prompt(a.STRINGS.PROMPT,a.STRINGS.DEFAULT);if(d){f=h.config.doc.createElement("div");d=d.replace(/"/g,"").replace(/'/g,"");d=h.config.doc.createTextNode(d);f.appendChild(d);d=f.innerHTML;this.get("host")._execCommand(i,d);g=new h.Selection();e=g.getSelected();if(!g.isCollapsed&&e.size()){c=e.item(0).one("a");if(c){e.item(0).replace(c);}if(b.UA.gecko){if(c.get("parentNode").test("span")){if(c.get("parentNode").one("br.yui-cursor")){c.get("parentNode").insert(c,"before");}}}}else{this.get("host").execCommand("inserthtml",'<a href="'+d+'">'+d+"</a>");}}return c;}});},"@VERSION@",{requires:["editor-base"],skinnable:false});YUI.add("editor-base",function(d){var c=function(){c.superclass.constructor.apply(this,arguments);},b=":last-child",a="body";d.extend(c,d.Base,{frame:null,initializer:function(){var e=new d.Frame({designMode:true,title:c.STRINGS.title,use:c.USE,dir:this.get("dir"),extracss:this.get("extracss"),linkedcss:this.get("linkedcss"),defaultblock:this.get("defaultblock"),host:this}).plug(d.Plugin.ExecCommand);
e.after("ready",d.bind(this._afterFrameReady,this));e.addTarget(this);this.frame=e;this.publish("nodeChange",{emitFacade:true,bubbles:true,defaultFn:this._defNodeChangeFn});},destructor:function(){this.frame.destroy();this.detachAll();},copyStyles:function(h,g){if(h.test("a")){return;}var e=["color","fontSize","fontFamily","backgroundColor","fontStyle"],f={};d.each(e,function(i){f[i]=h.getStyle(i);});if(h.ancestor("b,strong")){f.fontWeight="bold";}if(h.ancestor("u")){if(!f.textDecoration){f.textDecoration="underline";}}g.setStyles(f);},_lastBookmark:null,_resolveChangedNode:function(i){var h=this.getInstance(),f,e,g;if(h&&i&&i.test("html")){f=h.one(a).one(b);while(!g){if(f){e=f.one(b);if(e){f=e;}else{g=true;}}else{g=true;}}if(f){if(f.test("br")){if(f.previous()){f=f.previous();}else{f=f.get("parentNode");}}if(f){i=f;}}}return i;},_defNodeChangeFn:function(t){var j=(new Date()).getTime();var q=this.getInstance(),i,u,p=q.Selection.DEFAULT_BLOCK_TAG;if(d.UA.ie){try{i=q.config.doc.selection.createRange();if(i.getBookmark){this._lastBookmark=i.getBookmark();}}catch(g){}}t.changedNode=this._resolveChangedNode(t.changedNode);switch(t.changedType){case"keydown":if(!d.UA.gecko){if(!c.NC_KEYS[t.changedEvent.keyCode]&&!t.changedEvent.shiftKey&&!t.changedEvent.ctrlKey&&(t.changedEvent.keyCode!==13)){}}break;case"tab":if(!t.changedNode.test("li, li *")&&!t.changedEvent.shiftKey){t.changedEvent.frameEvent.preventDefault();if(d.UA.webkit){this.execCommand("inserttext","\t");}else{if(d.UA.gecko){this.frame.exec._command("inserthtml",c.TABKEY);}else{if(d.UA.ie){this.execCommand("inserthtml",c.TABKEY);}}}}break;}if(d.UA.webkit&&t.commands&&(t.commands.indent||t.commands.outdent)){var v=q.all(".webkit-indent-blockquote");if(v.size()){v.setStyle("margin","");}}var o=this.getDomPath(t.changedNode,false),f={},n,h,l=[],m="",k="";if(t.commands){f=t.commands;}var s=false;d.each(o,function(A){var w=A.tagName.toLowerCase(),B=c.TAG2CMD[w];if(B){f[B]=1;}var z=A.currentStyle||A.style;if((""+z.fontWeight)=="normal"){s=true;}if((""+z.fontWeight)=="bold"){f.bold=1;}if(d.UA.ie){if(z.fontWeight>400){f.bold=1;}}if(z.fontStyle=="italic"){f.italic=1;}if(z.textDecoration=="underline"){f.underline=1;}if(z.textDecoration=="line-through"){f.strikethrough=1;}var C=q.one(A);if(C.getStyle("fontFamily")){var y=C.getStyle("fontFamily").split(",")[0].toLowerCase();if(y){n=y;}if(n){n=n.replace(/'/g,"").replace(/"/g,"");}}h=c.NORMALIZE_FONTSIZE(C);var x=A.className.split(" ");d.each(x,function(D){if(D!==""&&(D.substr(0,4)!=="yui_")){l.push(D);}});m=c.FILTER_RGB(C.getStyle("color"));var e=c.FILTER_RGB(z.backgroundColor);if(e!=="transparent"){if(e!==""){k=e;}}});if(s){delete f.bold;delete f.italic;}t.dompath=q.all(o);t.classNames=l;t.commands=f;if(!t.fontFamily){t.fontFamily=n;}if(!t.fontSize){t.fontSize=h;}if(!t.fontColor){t.fontColor=m;}if(!t.backgroundColor){t.backgroundColor=k;}var r=(new Date()).getTime();},getDomPath:function(g,e){var i=[],f,h=this.frame.getInstance();f=h.Node.getDOMNode(g);while(f!==null){if((f===h.config.doc.documentElement)||(f===h.config.doc)||!f.tagName){f=null;break;}if(!h.DOM.inDoc(f)){f=null;break;}if(f.nodeName&&f.nodeType&&(f.nodeType==1)){i.push(f);}if(f==h.config.doc.body){f=null;break;}f=f.parentNode;}if(i.length===0){i[0]=h.config.doc.body;}if(e){return h.all(i.reverse());}else{return i.reverse();}},_afterFrameReady:function(){var e=this.frame.getInstance();this.frame.on("dom:mouseup",d.bind(this._onFrameMouseUp,this));this.frame.on("dom:mousedown",d.bind(this._onFrameMouseDown,this));this.frame.on("dom:keydown",d.bind(this._onFrameKeyDown,this));if(d.UA.ie){this.frame.on("dom:activate",d.bind(this._onFrameActivate,this));this.frame.on("dom:beforedeactivate",d.bind(this._beforeFrameDeactivate,this));}this.frame.on("dom:keyup",d.bind(this._onFrameKeyUp,this));this.frame.on("dom:keypress",d.bind(this._onFrameKeyPress,this));this.frame.on("dom:paste",d.bind(this._onPaste,this));e.Selection.filter();this.fire("ready");},_beforeFrameDeactivate:function(h){if(h.frameTarget.test("html")){return;}var g=this.getInstance(),f=g.config.doc.selection.createRange();if(f.compareEndPoints&&!f.compareEndPoints("StartToEnd",f)){f.pasteHTML('<var id="yui-ie-cursor">');}},_onFrameActivate:function(i){if(i.frameTarget.test("html")){return;}var h=this.getInstance(),g=new h.Selection(),f=g.createRange(),j=h.all("#yui-ie-cursor");if(j.size()){j.each(function(m){m.set("id","");if(f.moveToElementText){try{f.moveToElementText(m._node);var k=f.move("character",-1);if(k===-1){f.move("character",1);}f.select();f.text="";}catch(l){}}m.remove();});}},_onPaste:function(f){this.fire("nodeChange",{changedNode:f.frameTarget,changedType:"paste",changedEvent:f.frameEvent});},_onFrameMouseUp:function(f){this.fire("nodeChange",{changedNode:f.frameTarget,changedType:"mouseup",changedEvent:f.frameEvent});},_onFrameMouseDown:function(f){this.fire("nodeChange",{changedNode:f.frameTarget,changedType:"mousedown",changedEvent:f.frameEvent});},_currentSelection:null,_currentSelectionTimer:null,_currentSelectionClear:null,_onFrameKeyDown:function(h){var g,f;if(!this._currentSelection){if(this._currentSelectionTimer){this._currentSelectionTimer.cancel();}this._currentSelectionTimer=d.later(850,this,function(){this._currentSelectionClear=true;});g=this.frame.getInstance();f=new g.Selection(h);this._currentSelection=f;}else{f=this._currentSelection;}g=this.frame.getInstance();f=new g.Selection();this._currentSelection=f;if(f&&f.anchorNode){this.fire("nodeChange",{changedNode:f.anchorNode,changedType:"keydown",changedEvent:h.frameEvent});if(c.NC_KEYS[h.keyCode]){this.fire("nodeChange",{changedNode:f.anchorNode,changedType:c.NC_KEYS[h.keyCode],changedEvent:h.frameEvent});this.fire("nodeChange",{changedNode:f.anchorNode,changedType:c.NC_KEYS[h.keyCode]+"-down",changedEvent:h.frameEvent});}}},_onFrameKeyPress:function(g){var f=this._currentSelection;if(f&&f.anchorNode){this.fire("nodeChange",{changedNode:f.anchorNode,changedType:"keypress",changedEvent:g.frameEvent});
if(c.NC_KEYS[g.keyCode]){this.fire("nodeChange",{changedNode:f.anchorNode,changedType:c.NC_KEYS[g.keyCode]+"-press",changedEvent:g.frameEvent});}}},_onFrameKeyUp:function(h){var g=this.frame.getInstance(),f=new g.Selection(h);if(f&&f.anchorNode){this.fire("nodeChange",{changedNode:f.anchorNode,changedType:"keyup",selection:f,changedEvent:h.frameEvent});if(c.NC_KEYS[h.keyCode]){this.fire("nodeChange",{changedNode:f.anchorNode,changedType:c.NC_KEYS[h.keyCode]+"-up",selection:f,changedEvent:h.frameEvent});}}if(this._currentSelectionClear){this._currentSelectionClear=this._currentSelection=null;}},execCommand:function(j,l){var g=this.frame.execCommand(j,l),i=this.frame.getInstance(),h=new i.Selection(),f={},k={changedNode:h.anchorNode,changedType:"execcommand",nodes:g};switch(j){case"forecolor":k.fontColor=l;break;case"backcolor":k.backgroundColor=l;break;case"fontsize":k.fontSize=l;break;case"fontname":k.fontFamily=l;break;}f[j]=1;k.commands=f;this.fire("nodeChange",k);return g;},getInstance:function(){return this.frame.getInstance();},render:function(e){this.frame.set("content",this.get("content"));this.frame.render(e);return this;},focus:function(e){this.frame.focus(e);return this;},show:function(){this.frame.show();return this;},hide:function(){this.frame.hide();return this;},getContent:function(){var e="",f=this.getInstance();if(f&&f.Selection){e=f.Selection.unfilter();}e=e.replace(/ _yuid="([^>]*)"/g,"");return e;}},{NORMALIZE_FONTSIZE:function(g){var e=g.getStyle("fontSize"),f=e;switch(e){case"-webkit-xxx-large":e="48px";break;case"xx-large":e="32px";break;case"x-large":e="24px";break;case"large":e="18px";break;case"medium":e="16px";break;case"small":e="13px";break;case"x-small":e="10px";break;}if(f!==e){g.setStyle("fontSize",e);}return e;},TABKEY:'<span class="tab"> </span>',FILTER_RGB:function(h){if(h.toLowerCase().indexOf("rgb")!=-1){var k=new RegExp("(.*?)rgb\\s*?\\(\\s*?([0-9]+).*?,\\s*?([0-9]+).*?,\\s*?([0-9]+).*?\\)(.*?)","gi");var f=h.replace(k,"$1,$2,$3,$4,$5").split(",");if(f.length==5){var j=parseInt(f[1],10).toString(16);var i=parseInt(f[2],10).toString(16);var e=parseInt(f[3],10).toString(16);j=j.length==1?"0"+j:j;i=i.length==1?"0"+i:i;e=e.length==1?"0"+e:e;h="#"+j+i+e;}}return h;},TAG2CMD:{"b":"bold","strong":"bold","i":"italic","em":"italic","u":"underline","sup":"superscript","sub":"subscript","img":"insertimage","a":"createlink","ul":"insertunorderedlist","ol":"insertorderedlist"},NC_KEYS:{8:"backspace",9:"tab",13:"enter",32:"space",33:"pageup",34:"pagedown",35:"end",36:"home",37:"left",38:"up",39:"right",40:"down",46:"delete"},USE:["substitute","node","selector-css3","selection","stylesheet"],NAME:"editorBase",STRINGS:{title:"Rich Text Editor"},ATTRS:{content:{value:'<br class="yui-cursor">',setter:function(e){if(e.substr(0,1)==="\n"){e=e.substr(1);}if(e===""){e='<br class="yui-cursor">';}if(e===" "){if(d.UA.gecko){e='<br class="yui-cursor">';}}return this.frame.set("content",e);},getter:function(){return this.frame.get("content");}},dir:{writeOnce:true,value:"ltr"},linkedcss:{value:"",setter:function(e){if(this.frame){this.frame.set("linkedcss",e);}return e;}},extracss:{value:false,setter:function(e){if(this.frame){this.frame.set("extracss",e);}return e;}},defaultblock:{value:"p"}}});d.EditorBase=c;},"@VERSION@",{requires:["base","frame","node","exec-command","selection"],skinnable:false});YUI.add("editor-lists",function(f){var e=function(){e.superclass.constructor.apply(this,arguments);},b="li",c="ol",d="ul",a="host";f.extend(e,f.Base,{_onNodeChange:function(l){var j=this.get(a).getInstance(),g,o,p,h,i,m,n=false,q,k=false;if(l.changedType==="tab"){if(l.changedNode.test(b+", "+b+" *")){l.changedEvent.halt();l.preventDefault();o=l.changedNode;i=l.changedEvent.shiftKey;m=o.ancestor(c+","+d);q=d;if(m.get("tagName").toLowerCase()===c){q=c;}if(!o.test(b)){o=o.ancestor(b);}if(i){if(o.ancestor(b)){o.ancestor(b).insert(o,"after");n=true;k=true;}}else{if(o.previous(b)){h=j.Node.create("<"+q+"></"+q+">");o.previous(b).append(h);h.append(o);n=true;}}}if(n){if(!o.test(b)){o=o.ancestor(b);}o.all(e.REMOVE).remove();if(f.UA.ie){o=o.append(e.NON).one(e.NON_SEL);}(new j.Selection()).selectNode(o,true,k);}}},initializer:function(){this.get(a).on("nodeChange",f.bind(this._onNodeChange,this));}},{NON:'<span class="yui-non"> </span>',NON_SEL:"span.yui-non",REMOVE:"br",NAME:"editorLists",NS:"lists",ATTRS:{host:{value:false}}});f.namespace("Plugin");f.Plugin.EditorLists=e;},"@VERSION@",{requires:["editor-base"],skinnable:false});YUI.add("editor-bidi",function(a){var b=function(){b.superclass.constructor.apply(this,arguments);},i="host",h="dir",f="BODY",d="nodeChange",e="bidiContextChange",c=f+" > p",g="style";a.extend(b,a.Base,{lastDirection:null,firstEvent:null,_checkForChange:function(){var k=this.get(i),m=k.getInstance(),l=new m.Selection(),j,n;if(l.isCollapsed){j=b.blockParent(l.focusNode);if(j){n=j.getStyle("direction");if(n!==this.lastDirection){k.fire(e,{changedTo:n});this.lastDirection=n;}}}else{k.fire(e,{changedTo:"select"});this.lastDirection=null;}},_afterNodeChange:function(j){if(this.firstEvent||b.EVENTS[j.changedType]){this._checkForChange();this.firstEvent=false;}},_afterMouseUp:function(j){this._checkForChange();this.firstEvent=false;},initializer:function(){var j=this.get(i);this.firstEvent=true;j.after(d,a.bind(this._afterNodeChange,this));j.after("dom:mouseup",a.bind(this._afterMouseUp,this));}},{EVENTS:{"backspace-up":true,"pageup-up":true,"pagedown-down":true,"end-up":true,"home-up":true,"left-up":true,"up-up":true,"right-up":true,"down-up":true,"delete-up":true},BLOCKS:a.Selection.BLOCKS,DIV_WRAPPER:"<DIV></DIV>",blockParent:function(l,k){var j=l,n,m;if(!j){j=a.one(f);}if(!j.test(b.BLOCKS)){j=j.ancestor(b.BLOCKS);}if(k&&j.test(f)){n=a.Node.create(b.DIV_WRAPPER);j.get("children").each(function(p,o){if(o===0){m=p;}else{n.append(p);}});m.replace(n);n.prepend(m);j=n;}return j;},_NODE_SELECTED:"bidiSelected",addParents:function(m){var j,l,k;for(j=0;
j<m.length;j+=1){m[j].setData(b._NODE_SELECTED,true);}for(j=0;j<m.length;j+=1){l=m[j].get("parentNode");if(!l.test(f)&&!l.getData(b._NODE_SELECTED)){k=true;l.get("children").some(function(n){if(!n.getData(b._NODE_SELECTED)){k=false;return true;}});if(k){m.push(l);l.setData(b._NODE_SELECTED,true);}}}for(j=0;j<m.length;j+=1){m[j].clearData(b._NODE_SELECTED);}return m;},NAME:"editorBidi",NS:"editorBidi",ATTRS:{host:{value:false}},RE_TEXT_ALIGN:/text-align:\s*\w*\s*;/,removeTextAlign:function(j){if(j){if(j.getAttribute(g).match(b.RE_TEXT_ALIGN)){j.setAttribute(g,j.getAttribute(g).replace(b.RE_TEXT_ALIGN,""));}if(j.hasAttribute("align")){j.removeAttribute("align");}}return j;}});a.namespace("Plugin");a.Plugin.EditorBidi=b;a.Plugin.ExecCommand.COMMANDS.bidi=function(m,s){var p=this.getInstance(),k=new p.Selection(),r=this.get(i).get(i).editorBidi,j,n,o,t,l;if(!r){a.error("bidi execCommand is not available without the EditorBiDi plugin.");return;}p.Selection.filterBlocks();if(k.anchorNode.test(f)){return;}if(k.isCollapsed){n=b.blockParent(k.anchorNode);n=b.removeTextAlign(n);if(!s){l=n.getAttribute(h);if(!l||l=="ltr"){s="rtl";}else{s="ltr";}}n.setAttribute(h,s);if(a.UA.ie){var q=n.all("br.yui-cursor");if(q.size()===1&&n.get("childNodes").size()==1){q.remove();}}j=n;}else{o=k.getSelected();t=[];o.each(function(u){t.push(b.blockParent(u));});t=p.all(b.addParents(t));t.each(function(v){var u=s;v=b.removeTextAlign(v);if(!u){l=v.getAttribute(h);if(!l||l=="ltr"){u="rtl";}else{u="ltr";}}v.setAttribute(h,u);});j=t;}r._checkForChange();return j;};},"@VERSION@",{requires:["editor-base"],skinnable:false});YUI.add("editor-para",function(a){var d=function(){d.superclass.constructor.apply(this,arguments);},k="host",f="body",c="nodeChange",j="parentNode",b=f+" > p",h="p",g="<br>",i="firstChild",e="li";a.extend(d,a.Base,{_fixFirstPara:function(){var p=this.get(k),r=p.getInstance(),q,s,l=r.config.doc.body,o=l.innerHTML,m=((o.length)?true:false);if(o===g){o="";m=false;}l.innerHTML="<"+h+">"+o+r.Selection.CURSOR+"</"+h+">";s=r.one(b);q=new r.Selection();q.selectNode(s,true,m);},_onNodeChange:function(Q){var F=this.get(k),q=F.getInstance(),x,D,C,S,N,H=q.Selection.DEFAULT_BLOCK_TAG,z,o,s,O,v,l,G,L,u,M,U,R,J,B,A,P=":last-child";switch(Q.changedType){case"enter-up":var m=((this._lastPara)?this._lastPara:Q.changedNode),T=m.one("br.yui-cursor");if(this._lastPara){delete this._lastPara;}if(T){if(T.previous()||T.next()){if(T.ancestor(h)){T.remove();}}}if(!m.test(H)){var E=m.ancestor(H);if(E){m=E;E=null;}}if(m.test(H)){var I=m.previous(),K,w,y=false;if(I){K=I.one(P);while(!y){if(K){w=K.one(P);if(w){K=w;}else{y=true;}}else{y=true;}}if(K){F.copyStyles(K,m);}}}break;case"enter":if(a.UA.ie){if(Q.changedNode.test("br")){Q.changedNode.remove();}else{if(Q.changedNode.test("p, span")){var T=Q.changedNode.one("br.yui-cursor");if(T){T.remove();}}}}if(a.UA.webkit){if(Q.changedEvent.shiftKey){F.execCommand("insertbr");Q.changedEvent.preventDefault();}}if(a.UA.gecko&&F.get("defaultblock")!=="p"){C=Q.changedNode;if(!C.test(e)&&!C.ancestor(e)){if(!C.test(H)){C=C.ancestor(H);}S=q.Node.create("<"+H+"></"+H+">");C.insert(S,"after");N=new q.Selection();if(N.anchorOffset){z=N.anchorNode.get("textContent");D=q.one(q.config.doc.createTextNode(z.substr(0,N.anchorOffset)));o=q.one(q.config.doc.createTextNode(z.substr(N.anchorOffset)));O=N.anchorNode;O.setContent("");l=O.cloneNode();l.append(o);G=false;u=O;while(!G){u=u.get(j);if(u&&!u.test(H)){L=u.cloneNode();L.set("innerHTML","");L.append(l);s=u.get("childNodes");var r=false;s.each(function(n){if(r){L.append(n);}if(n===O){r=true;}});O=u;l=L;}else{G=true;}}o=l;N.anchorNode.append(D);if(o){S.append(o);}}if(S.get(i)){S=S.get(i);}S.prepend(q.Selection.CURSOR);N.focusCursor(true,true);x=q.Selection.getText(S);if(x!==""){q.Selection.cleanCursor();}Q.changedEvent.preventDefault();}}break;case"keyup":if(a.UA.gecko){if(q.config.doc&&q.config.doc.body&&q.config.doc.body.innerHTML.length<20){if(!q.one(b)){this._fixFirstPara();}}}break;case"backspace-up":case"backspace-down":case"delete-up":if(!a.UA.ie){M=q.all(b);R=q.one(f);if(M.item(0)){R=M.item(0);}U=R.one("br");if(U){U.removeAttribute("id");U.removeAttribute("class");}D=q.Selection.getText(R);D=D.replace(/ /g,"").replace(/\n/g,"");B=R.all("img");if(D.length===0&&!B.size()){if(!R.test(h)){this._fixFirstPara();}J=null;if(Q.changedNode&&Q.changedNode.test(h)){J=Q.changedNode;}if(!J&&F._lastPara&&F._lastPara.inDoc()){J=F._lastPara;}if(J&&!J.test(h)){J=J.ancestor(h);}if(J){if(!J.previous()&&J.get(j)&&J.get(j).test(f)){Q.changedEvent.frameEvent.halt();}}}if(a.UA.webkit){if(Q.changedNode){R=Q.changedNode;if(R.test("li")&&(!R.previous()&&!R.next())){x=R.get("innerHTML").replace(g,"");if(x===""){if(R.get(j)){R.get(j).replace(q.Node.create(g));Q.changedEvent.frameEvent.halt();Q.preventDefault();q.Selection.filterBlocks();}}}}}}if(a.UA.gecko){S=Q.changedNode;A=q.config.doc.createTextNode(" ");S.appendChild(A);S.removeChild(A);}break;}if(a.UA.gecko){if(Q.changedNode&&!Q.changedNode.test(H)){J=Q.changedNode.ancestor(H);if(J){this._lastPara=J;}}}},_afterEditorReady:function(){var m=this.get(k),n=m.getInstance(),l;if(n){n.Selection.filterBlocks();l=n.Selection.DEFAULT_BLOCK_TAG;b=f+" > "+l;h=l;}},_afterContentChange:function(){var l=this.get(k),m=l.getInstance();if(m&&m.Selection){m.Selection.filterBlocks();}},_afterPaste:function(){var l=this.get(k),n=l.getInstance(),m=new n.Selection();a.later(50,l,function(){n.Selection.filterBlocks();});},initializer:function(){var l=this.get(k);if(l.editorBR){a.error("Can not plug EditorPara and EditorBR at the same time.");return;}l.on(c,a.bind(this._onNodeChange,this));l.after("ready",a.bind(this._afterEditorReady,this));l.after("contentChange",a.bind(this._afterContentChange,this));if(a.Env.webkit){l.after("dom:paste",a.bind(this._afterPaste,this));}}},{NAME:"editorPara",NS:"editorPara",ATTRS:{host:{value:false}}});a.namespace("Plugin");a.Plugin.EditorPara=d;},"@VERSION@",{requires:["editor-base"],skinnable:false});YUI.add("editor-br",function(c){var d=function(){d.superclass.constructor.apply(this,arguments);
},a="host",b="li";c.extend(d,c.Base,{_onKeyDown:function(j){if(j.stopped){j.halt();return;}if(j.keyCode==13){var g=this.get(a),i=g.getInstance(),h=new i.Selection(),f="";if(h){if(c.UA.ie){if(!h.anchorNode||(!h.anchorNode.test(b)&&!h.anchorNode.ancestor(b))){h._selection.pasteHTML("<br>");h._selection.collapse(false);h._selection.select();j.halt();}}if(c.UA.webkit){if(!h.anchorNode.test(b)&&!h.anchorNode.ancestor(b)){g.frame._execCommand("insertlinebreak",null);j.halt();}}}}},_afterEditorReady:function(){var e=this.get(a).getInstance();try{e.config.doc.execCommand("insertbronreturn",null,true);}catch(f){}if(c.UA.ie||c.UA.webkit){e.on("keydown",c.bind(this._onKeyDown,this),e.config.doc);}},_onNodeChange:function(h){switch(h.changedType){case"backspace-up":case"backspace-down":case"delete-up":var g=this.get(a).getInstance();var i=h.changedNode;var f=g.config.doc.createTextNode(" ");i.appendChild(f);i.removeChild(f);break;}},initializer:function(){var e=this.get(a);if(e.editorPara){c.error("Can not plug EditorBR and EditorPara at the same time.");return;}e.after("ready",c.bind(this._afterEditorReady,this));if(c.UA.gecko){e.on("nodeChange",c.bind(this._onNodeChange,this));}}},{NAME:"editorBR",NS:"editorBR",ATTRS:{host:{value:false}}});c.namespace("Plugin");c.Plugin.EditorBR=d;},"@VERSION@",{requires:["editor-base"],skinnable:false});YUI.add("editor",function(a){},"@VERSION@",{skinnable:false,use:["frame","selection","exec-command","editor-base","editor-para","editor-br","editor-bidi","editor-tab","createlink-base"]});