buxTextEditor.js 75 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150
  1. //>>built
  2. require({cache:{"dijit/_editor/plugins/BuxEnterKeyHandling":function(){define("dijit/_editor/plugins/BuxEnterKeyHandling","dojo/_base/declare dojo/dom-construct dojo/_base/event dojo/keys dojo/_base/lang dojo/_base/sniff dojo/_base/window dojo/window ../_Plugin ../BuxRichText ../range ../selection".split(" "),function(m,o,x,h,f,a,b,c,d,g,e,u){return m("dijit._editor.plugins.EnterKeyHandling",d,{blockNodeForEnter:"BR",constructor:function(a){a&&("blockNodeForEnter"in a&&(a.blockNodeForEnter=a.blockNodeForEnter.toUpperCase()),
  3. f.mixin(this,a))},setEditor:function(b){if(this.editor!==b)if(this.editor=b,"BR"==this.blockNodeForEnter)this.editor.customUndo=!0,b.onLoadDeferred.then(f.hitch(this,function(c){this.connect(b.document,"onkeypress",function(a){if(a.charOrCode==h.ENTER){var b=f.mixin({},a);b.shiftKey=!0;this.handleEnterKey(b)||x.stop(a)}});9<=a("ie")&&this.connect(b.document,"onpaste",function(){setTimeout(dojo.hitch(this,function(){var a=this.editor.document.selection.createRange();a.move("character",-1);a.select();
  4. a.move("character",1);a.select()}),0)});return c}));else if(this.blockNodeForEnter){var c=f.hitch(this,this.handleEnterKey);b.addKeyHandler(13,0,0,c);b.addKeyHandler(13,0,1,c);this.connect(this.editor,"onKeyPressed","onKeyPressed")}},onKeyPressed:function(){if(this._checkListLater){if(b.withGlobal(this.editor.window,"isCollapsed",dijit)){var c=b.withGlobal(this.editor.window,"getAncestorElement",u,["LI"]);if(c){a("mozilla")&&"LI"==c.parentNode.parentNode.nodeName&&(c=c.parentNode.parentNode);var d=
  5. c.firstChild;if(d&&1==d.nodeType&&("UL"==d.nodeName||"OL"==d.nodeName))c.insertBefore(d.ownerDocument.createTextNode("\u00a0"),d),d=e.create(this.editor.window),d.setStart(c.firstChild,0),c=e.getSelection(this.editor.window,!0),c.removeAllRanges(),c.addRange(d)}else g.prototype.execCommand.call(this.editor,"formatblock",this.blockNodeForEnter),(c=b.withGlobal(this.editor.window,"getAncestorElement",u,[this.blockNodeForEnter]))?(c.innerHTML=this.bogusHtmlContent,9>=a("ie")&&(c=this.editor.document.selection.createRange(),
  6. c.move("character",-1),c.select())):console.error("onKeyPressed: Cannot find the new block node")}this._checkListLater=!1}this._pressedEnterInBlock&&(this._pressedEnterInBlock.previousSibling&&this.removeTrailingBr(this._pressedEnterInBlock.previousSibling),delete this._pressedEnterInBlock)},bogusHtmlContent:"&#160;",blockNodes:/^(?:P|H1|H2|H3|H4|H5|H6|LI)$/,handleEnterKey:function(d){var j,p,h,m,i,x,y=this.editor.document,B,r,D;if(d.shiftKey){B=b.withGlobal(this.editor.window,"getParentElement",
  7. u);if(d=e.getAncestor(B,this.blockNodes)){if("LI"==d.tagName)return!0;j=e.getSelection(this.editor.window);p=j.getRangeAt(0);p.collapsed||(p.deleteContents(),j=e.getSelection(this.editor.window),p=j.getRangeAt(0));if(e.atBeginningOfContainer(d,p.startContainer,p.startOffset))B=y.createElement("br"),h=e.create(this.editor.window),d.insertBefore(B,d.firstChild),h.setStartAfter(B),j.removeAllRanges(),j.addRange(h);else if(e.atEndOfContainer(d,p.startContainer,p.startOffset))h=e.create(this.editor.window),
  8. B=y.createElement("br"),d.appendChild(B),d.appendChild(y.createTextNode("\u00a0")),h.setStart(d.lastChild,0),j.removeAllRanges(),j.addRange(h);else return(r=p.startContainer)&&3==r.nodeType?(D=r.nodeValue,b.withGlobal(this.editor.window,function(){m=y.createTextNode(D.substring(0,p.startOffset));i=y.createTextNode(D.substring(p.startOffset));x=y.createElement("br");""==i.nodeValue&&a("webkit")&&(i=y.createTextNode("\u00a0"));o.place(m,r,"after");o.place(x,m,"after");o.place(i,x,"after");o.destroy(r);
  9. h=e.create();h.setStart(i,0);j.removeAllRanges();j.addRange(h)}),!1):!0}else if(j=e.getSelection(this.editor.window),j.rangeCount){if((p=j.getRangeAt(0))&&p.startContainer)if(p.collapsed||(p.deleteContents(),j=e.getSelection(this.editor.window),p=j.getRangeAt(0)),(r=p.startContainer)&&3==r.nodeType)b.withGlobal(this.editor.window,f.hitch(this,function(){var k=!1,l=p.startOffset;r.length<l&&(A=this._adjustNodeAndOffset(r,l),r=A.node,l=A.offset);D=r.nodeValue;m=y.createTextNode(D.substring(0,l));i=
  10. y.createTextNode(D.substring(l));x=y.createElement("br");i.length||(i=y.createTextNode("\u00a0"),k=!0);m.length?o.place(m,r,"after"):m=r;o.place(x,m,"after");o.place(i,x,"after");o.destroy(r);h=e.create();h.setStart(i,0);h.setEnd(i,i.length);j.removeAllRanges();j.addRange(h);k&&!a("webkit")?u.remove():u.collapse(!0)}));else{var G;0<=p.startOffset&&(G=r.childNodes[p.startOffset]);b.withGlobal(this.editor.window,f.hitch(this,function(){var k=y.createElement("br"),l=y.createTextNode("\u00a0");G?(o.place(k,
  11. G,"before"),o.place(l,k,"after")):(r.appendChild(k),r.appendChild(l));h=e.create(b.global);h.setStart(l,0);h.setEnd(l,l.length);j.removeAllRanges();j.addRange(h);u.collapse(!0)}))}}else g.prototype.execCommand.call(this.editor,"inserthtml","<br>");return!1}var z=!0;j=e.getSelection(this.editor.window);p=j.getRangeAt(0);p.collapsed||(p.deleteContents(),j=e.getSelection(this.editor.window),p=j.getRangeAt(0));var d=e.getBlockAncestor(p.endContainer,null,this.editor.editNode),t=d.blockNode;if(this._checkListLater=
  12. t&&("LI"==t.nodeName||"LI"==t.parentNode.nodeName))return a("mozilla")&&(this._pressedEnterInBlock=t),/^(\s|&nbsp;|&#160;|\xA0|<span\b[^>]*\bclass=['"]Apple-style-span['"][^>]*>(\s|&nbsp;|&#160;|\xA0)<\/span>)?(<br>)?$/.test(t.innerHTML)&&(t.innerHTML="",a("webkit")&&(h=e.create(this.editor.window),h.setStart(t,0),j.removeAllRanges(),j.addRange(h)),this._checkListLater=!1),!0;if(!d.blockNode||d.blockNode===this.editor.editNode){try{g.prototype.execCommand.call(this.editor,"formatblock",this.blockNodeForEnter)}catch(F){}d=
  13. {blockNode:b.withGlobal(this.editor.window,"getAncestorElement",u,[this.blockNodeForEnter]),blockContainer:this.editor.editNode};if(d.blockNode){if(d.blockNode!=this.editor.editNode&&!(d.blockNode.textContent||d.blockNode.innerHTML).replace(/^\s+|\s+$/g,"").length)return this.removeTrailingBr(d.blockNode),!1}else d.blockNode=this.editor.editNode;j=e.getSelection(this.editor.window);p=j.getRangeAt(0)}t=y.createElement(this.blockNodeForEnter);t.innerHTML=this.bogusHtmlContent;this.removeTrailingBr(d.blockNode);
  14. var n=p.endOffset,z=p.endContainer;if(z.length<n)var A=this._adjustNodeAndOffset(z,n),z=A.node,n=A.offset;if(e.atEndOfContainer(d.blockNode,z,n))d.blockNode===d.blockContainer?d.blockNode.appendChild(t):o.place(t,d.blockNode,"after"),z=!1,h=e.create(this.editor.window),h.setStart(t,0),j.removeAllRanges(),j.addRange(h),this.editor.height&&c.scrollIntoView(t);else if(e.atBeginningOfContainer(d.blockNode,p.startContainer,p.startOffset))o.place(t,d.blockNode,d.blockNode===d.blockContainer?"first":"before"),
  15. t.nextSibling&&this.editor.height&&(h=e.create(this.editor.window),h.setStart(t.nextSibling,0),j.removeAllRanges(),j.addRange(h),c.scrollIntoView(t.nextSibling)),z=!1;else{d.blockNode===d.blockContainer?d.blockNode.appendChild(t):o.place(t,d.blockNode,"after");z=!1;d.blockNode.style&&(t.style&&d.blockNode.style.cssText)&&(t.style.cssText=d.blockNode.style.cssText);r=p.startContainer;var q;if(r&&3==r.nodeType){var k,n=p.endOffset;r.length<n&&(A=this._adjustNodeAndOffset(r,n),r=A.node,n=A.offset);D=
  16. r.nodeValue;m=y.createTextNode(D.substring(0,n));i=y.createTextNode(D.substring(n,D.length));o.place(m,r,"before");o.place(i,r,"after");o.destroy(r);for(q=m.parentNode;q!==d.blockNode;){var l=y.createElement(q.tagName);q.style&&(l.style&&q.style.cssText)&&(l.style.cssText=q.style.cssText);"FONT"===q.tagName&&(q.color&&(l.color=q.color),q.face&&(l.face=q.face),q.size&&(l.size=q.size));for(n=i;n;)k=n.nextSibling,l.appendChild(n),n=k;o.place(l,q,"after");m=q;i=l;q=q.parentNode}n=i;if(1==n.nodeType||
  17. 3==n.nodeType&&n.nodeValue)t.innerHTML="";for(q=n;n;)k=n.nextSibling,t.appendChild(n),n=k}h=e.create(this.editor.window);if("BR"!==this.blockNodeForEnter){for(;q;)B=q,q=k=q.firstChild;B&&B.parentNode?(t=B.parentNode,h.setStart(t,0),j.removeAllRanges(),j.addRange(h),this.editor.height&&c.scrollIntoView(t),a("mozilla")&&(this._pressedEnterInBlock=d.blockNode)):z=!0}else h.setStart(t,0),j.removeAllRanges(),j.addRange(h),this.editor.height&&c.scrollIntoView(t),a("mozilla")&&(this._pressedEnterInBlock=
  18. d.blockNode)}return z},_adjustNodeAndOffset:function(a,b){for(;a.length<b&&a.nextSibling&&3==a.nextSibling.nodeType;)b-=a.length,a=a.nextSibling;return{node:a,offset:b}},removeTrailingBr:function(a){if(a=/P|DIV|LI/i.test(a.tagName)?a:u.getParentOfType(a,["P","DIV","LI"]))a.lastChild&&(1<a.childNodes.length&&3==a.lastChild.nodeType&&/^[\s\xAD]*$/.test(a.lastChild.nodeValue)||"BR"==a.lastChild.tagName)&&o.destroy(a.lastChild),a.childNodes.length||(a.innerHTML=this.bogusHtmlContent)}})})},"dijit/BuxEditor":function(){define("dijit/BuxEditor",
  19. "dojo/_base/array dojo/_base/declare dojo/_base/Deferred dojo/i18n dojo/dom-attr dojo/dom-class dojo/dom-geometry dojo/dom-style dojo/_base/event dojo/keys dojo/_base/lang dojo/_base/sniff dojo/string dojo/topic dojo/_base/window ./_base/focus ./_Container ./Toolbar ./ToolbarSeparator ./layout/_LayoutWidget ./form/ToggleButton ./_editor/_Plugin ./_editor/plugins/BuxEnterKeyHandling ./_editor/html ./_editor/range ./_editor/BuxRichText . dojo/i18n!./_editor/nls/commands".split(" "),function(m,o,x,h,
  20. f,a,b,c,d,g,e,u,s,j,p,H,J,i,I,y,B,r,D,G,z,t,F){function n(a){return new r({command:a.name})}function A(a){return new r({buttonClass:B,command:a.name})}o=o("dijit.BuxEditor",t,{plugins:null,extraPlugins:null,constructor:function(){e.isArray(this.plugins)||(this.plugins=["undo","redo","|","cut","copy","paste","|","bold","italic","underline","strikethrough","|","insertOrderedList","insertUnorderedList","indent","outdent","|","justifyLeft","justifyRight","justifyCenter","justifyFull",D]);this._plugins=
  21. [];this._editInterval=1E3*this.editActionInterval;if(u("ie")||u("trident"))this.events.push("onBeforeDeactivate"),this.events.push("onBeforeActivate")},postMixInProperties:function(){this.setValueDeferred=new x;this.inherited(arguments)},postCreate:function(){this._steps=this._steps.slice(0);this._undoedSteps=this._undoedSteps.slice(0);e.isArray(this.extraPlugins)&&(this.plugins=this.plugins.concat(this.extraPlugins));this.inherited(arguments);this.commands=h.getLocalization("dijit._editor","commands",
  22. this.lang);this.toolbar||(this.toolbar=new i({dir:this.dir,lang:this.lang}),this.header.appendChild(this.toolbar.domNode));m.forEach(this.plugins,this.addPlugin,this);this.setValueDeferred.callback(!0);a.add(this.iframe.parentNode,"dijitEditorIFrameContainer");a.add(this.iframe,"dijitEditorIFrame");f.set(this.iframe,"allowTransparency",!0);u("webkit")&&c.set(this.domNode,"KhtmlUserSelect","none");this.toolbar.startup();this.onNormalizedDisplayChanged()},destroy:function(){m.forEach(this._plugins,
  23. function(a){a&&a.destroy&&a.destroy()});this._plugins=[];this.toolbar.destroyRecursive();delete this.toolbar;this.inherited(arguments)},addPlugin:function(a,k){var l=e.isString(a)?{name:a}:e.isFunction(a)?{ctor:a}:a;if(!l.setEditor){var b={args:l,plugin:null,editor:this};l.name&&(r.registry[l.name]?b.plugin=r.registry[l.name](l):j.publish(F._scopeName+".Editor.getPlugin",b));if(!b.plugin){var c=l.ctor||e.getObject(l.name);c&&(b.plugin=new c(l))}if(!b.plugin){console.warn("Cannot find plugin",a);return}a=
  24. b.plugin}1<arguments.length?this._plugins[k]=a:this._plugins.push(a);a.setEditor(this);e.isFunction(a.setToolbar)&&a.setToolbar(this.toolbar)},resize:function(a){a&&y.prototype.resize.apply(this,arguments)},layout:function(){var a=this._contentBox.h-(this.getHeaderHeight()+this.getFooterHeight()+b.getPadBorderExtents(this.iframe.parentNode).h+b.getMarginExtents(this.iframe.parentNode).h);this.editingArea.style.height=a+"px";this.iframe&&(this.iframe.style.height="100%");this._layoutMode=!0},_onIEMouseDown:function(a){var k,
  25. l=this.document.body,b=l.clientWidth,c=l.clientHeight,d=l.clientLeft,f=l.offsetWidth,g=l.offsetHeight,i=l.offsetLeft;/^rtl$/i.test(l.dir||"")?b<f&&(a.x>b&&a.x<f)&&(k=!0):a.x<d&&a.x>i&&(k=!0);k||c<g&&(a.y>c&&a.y<g)&&(k=!0);k||(delete this._cursorToStart,delete this._savedSelection,"BODY"==a.target.tagName&&setTimeout(e.hitch(this,"placeCursorAtEnd"),0),this.inherited(arguments))},onBeforeActivate:function(){this._restoreSelection()},onBeforeDeactivate:function(a){this.customUndo&&this.endEditing(!0);
  26. "BODY"!=a.target.tagName&&this._saveSelection()},customUndo:!0,editActionInterval:3,beginEditing:function(a){this._inEditing||(this._inEditing=!0,this._beginEditing(a));0<this.editActionInterval&&(this._editTimer&&clearTimeout(this._editTimer),this._editTimer=setTimeout(e.hitch(this,this.endEditing),this._editInterval))},_steps:[],_undoedSteps:[],execCommand:function(a){if(this.customUndo&&("undo"==a||"redo"==a))return this[a]();this.customUndo&&(this.endEditing(),this._beginEditing());var k=this.inherited(arguments);
  27. this.customUndo&&this._endEditing();return k},_pasteImpl:function(){return this._clipboardCommand("paste")},_cutImpl:function(){return this._clipboardCommand("cut")},_copyImpl:function(){return this._clipboardCommand("copy")},_clipboardCommand:function(a){var k;try{if(k=this.document.execCommand(a,!1,null),u("webkit")&&!k)throw{code:1011};}catch(l){1011==l.code&&(k=s.substitute,alert(k(this.commands.systemShortcut,[this.commands[a],k(this.commands[u("mac")?"appleKey":"ctrlKey"],[{cut:"X",copy:"C",
  28. paste:"V"}[a]])]))),k=!1}return k},queryCommandEnabled:function(a){return this.customUndo&&("undo"==a||"redo"==a)?"undo"==a?1<this._steps.length:0<this._undoedSteps.length:this.inherited(arguments)},_moveToBookmark:function(a){var k=a.mark,l=a.mark,a=a.isCollapsed,b,c,d;if(l)if(9>u("ie"))if(e.isArray(l))k=[],m.forEach(l,function(a){k.push(z.getNode(a,this.editNode))},this),p.withGlobal(this.window,"moveToBookmark",F,[{mark:k,isCollapsed:a}]);else{if(l.startContainer&&l.endContainer&&(d=z.getSelection(this.window))&&
  29. d.removeAllRanges)d.removeAllRanges(),a=z.create(this.window),b=z.getNode(l.startContainer,this.editNode),c=z.getNode(l.endContainer,this.editNode),b&&c&&(a.setStart(b,l.startOffset),a.setEnd(c,l.endOffset),d.addRange(a))}else if((d=z.getSelection(this.window))&&d.removeAllRanges)d.removeAllRanges(),a=z.create(this.window),b=z.getNode(l.startContainer,this.editNode),c=z.getNode(l.endContainer,this.editNode),b&&c&&(a.setStart(b,l.startOffset),a.setEnd(c,l.endOffset),d.addRange(a))},_changeToStep:function(a,
  30. k){this.setValue(k.text);var l=k.bookmark;l&&this._moveToBookmark(l)},undo:function(){var a=!1;if(!this._undoRedoActive){this._undoRedoActive=!0;this.endEditing(!0);var k=this._steps.pop();k&&0<this._steps.length&&(this.focus(),this._changeToStep(k,this._steps[this._steps.length-1]),this._undoedSteps.push(k),this.onDisplayChanged(),delete this._undoRedoActive,a=!0);delete this._undoRedoActive}return a},redo:function(){var a=!1;if(!this._undoRedoActive){this._undoRedoActive=!0;this.endEditing(!0);
  31. var k=this._undoedSteps.pop();k&&0<this._steps.length&&(this.focus(),this._changeToStep(this._steps[this._steps.length-1],k),this._steps.push(k),this.onDisplayChanged(),a=!0);delete this._undoRedoActive}return a},endEditing:function(a){this._editTimer&&clearTimeout(this._editTimer);this._inEditing&&(this._endEditing(a),this._inEditing=!1)},_getBookmark:function(){var a=p.withGlobal(this.window,H.getBookmark),k=[];if(a&&a.mark){var l=a.mark;if(9>u("ie")){var b=z.getSelection(this.window);if(e.isArray(l))m.forEach(a.mark,
  32. function(a){k.push(z.getIndex(a,this.editNode).o)},this),a.mark=k;else if(b){var c;b.rangeCount&&(c=b.getRangeAt(0));a.mark=c?c.cloneRange():p.withGlobal(this.window,H.getBookmark)}}try{a.mark&&a.mark.startContainer&&(k=z.getIndex(a.mark.startContainer,this.editNode).o,a.mark={startContainer:k,startOffset:a.mark.startOffset,endContainer:a.mark.endContainer===a.mark.startContainer?k:z.getIndex(a.mark.endContainer,this.editNode).o,endOffset:a.mark.endOffset})}catch(d){a.mark=null}}return a},_beginEditing:function(){0===
  33. this._steps.length&&this._steps.push({text:G.getChildrenHtml(this.editNode),bookmark:this._getBookmark()})},_endEditing:function(){var a=G.getChildrenHtml(this.editNode);this._undoedSteps=[];this._steps.push({text:a,bookmark:this._getBookmark()})},onKeyDown:function(a){!u("ie")&&(!this.iframe&&a.keyCode==g.TAB&&!this.tabIndent)&&this._saveSelection();if(this.customUndo){var k=a.keyCode;if(a.ctrlKey&&!a.altKey){if(90==k||122==k){d.stop(a);this.undo();return}if(89==k||121==k){d.stop(a);this.redo();
  34. return}}this.inherited(arguments);switch(k){case g.ENTER:case g.BACKSPACE:case g.DELETE:this.beginEditing();break;case 88:case 86:if(a.ctrlKey&&!a.altKey&&!a.metaKey){this.endEditing();88==a.keyCode?this.beginEditing("cut"):this.beginEditing("paste");setTimeout(e.hitch(this,this.endEditing),1);break}default:if(!a.ctrlKey&&!a.altKey&&!a.metaKey&&(a.keyCode<g.F1||a.keyCode>g.F15)){this.beginEditing();break}case g.ALT:this.endEditing();break;case g.UP_ARROW:case g.DOWN_ARROW:case g.LEFT_ARROW:case g.RIGHT_ARROW:case g.HOME:case g.END:case g.PAGE_UP:case g.PAGE_DOWN:this.endEditing(!0);
  35. case g.CTRL:case g.SHIFT:case g.TAB:}}else this.inherited(arguments)},_onBlur:function(){this.inherited(arguments);this.endEditing(!0)},_saveSelection:function(){try{this._savedSelection=this._getBookmark()}catch(a){}},_restoreSelection:function(){this._savedSelection&&(delete this._cursorToStart,p.withGlobal(this.window,"isCollapsed",F)&&this._moveToBookmark(this._savedSelection),delete this._savedSelection)},onClick:function(){this.endEditing(!0);this.inherited(arguments)},replaceValue:function(a){this.customUndo?
  36. this.isClosed?this.setValue(a):(this.beginEditing(),a||(a="&#160;"),this.setValue(a),this.endEditing()):this.inherited(arguments)},_setDisabledAttr:function(a){var k=e.hitch(this,function(){!this.disabled&&a||!this._buttonEnabledPlugins&&a?m.forEach(this._plugins,function(k){k.set("disabled",!0)}):this.disabled&&!a&&m.forEach(this._plugins,function(k){k.set("disabled",!1)})});this.setValueDeferred.addCallback(k);this.inherited(arguments)},_setStateClass:function(){try{this.inherited(arguments),this.document&&
  37. this.document.body&&c.set(this.document.body,"color",c.get(this.iframe,"color"))}catch(a){}}});e.mixin(r.registry,{undo:n,redo:n,cut:n,copy:n,paste:n,insertOrderedList:n,insertUnorderedList:n,indent:n,outdent:n,justifyCenter:n,justifyFull:n,justifyLeft:n,justifyRight:n,"delete":n,selectAll:n,removeFormat:n,unlink:n,insertHorizontalRule:n,bold:A,italic:A,underline:A,strikethrough:A,subscript:A,superscript:A,"|":function(){return new r({button:new I,setEditor:function(a){this.editor=a}})}});return o})},
  38. "dijit/_editor/_Plugin":function(){define("dijit/_editor/_Plugin",["dojo/_base/connect","dojo/_base/declare","dojo/_base/lang","../form/Button"],function(m,o,x,h){o=o("dijit._editor._Plugin",null,{constructor:function(f){this.params=f||{};x.mixin(this,this.params);this._connects=[];this._attrPairNames={}},editor:null,iconClassPrefix:"dijitEditorIcon",button:null,command:"",useDefaultCommand:!0,buttonClass:h,disabled:!1,getLabel:function(f){return this.editor.commands[f]},_initButton:function(){if(this.command.length){var f=
  39. this.getLabel(this.command),a=this.editor,b=this.iconClassPrefix+" "+this.iconClassPrefix+this.command.charAt(0).toUpperCase()+this.command.substr(1);this.button||(f=x.mixin({label:f,dir:a.dir,lang:a.lang,showLabel:!1,iconClass:b,dropDown:this.dropDown,tabIndex:"-1"},this.params||{}),this.button=new this.buttonClass(f))}this.get("disabled")&&this.button&&this.button.set("disabled",this.get("disabled"))},destroy:function(){for(var f;f=this._connects.pop();)f.remove();this.dropDown&&this.dropDown.destroyRecursive()},
  40. connect:function(f,a,b){this._connects.push(m.connect(f,a,this,b))},updateState:function(){var f=this.editor,a=this.command,b,c;if(f&&f.isLoaded&&a.length){var d=this.get("disabled");if(this.button)try{c=!d&&f.queryCommandEnabled(a),this.enabled!==c&&(this.enabled=c,this.button.set("disabled",!c)),"boolean"==typeof this.button.checked&&(b=f.queryCommandState(a),this.checked!==b&&(this.checked=b,this.button.set("checked",f.queryCommandState(a))))}catch(g){}}},setEditor:function(f){this.editor=f;this._initButton();
  41. this.button&&this.useDefaultCommand&&(this.editor.queryCommandAvailable(this.command)?this.connect(this.button,"onClick",x.hitch(this.editor,"execCommand",this.command,this.commandArg)):this.button.domNode.style.display="none");this.connect(this.editor,"onNormalizedDisplayChanged","updateState")},setToolbar:function(f){this.button&&f.addChild(this.button)},set:function(f,a){if("object"===typeof f){for(var b in f)this.set(b,f[b]);return this}b=this._getAttrNames(f);if(this[b.s])var c=this[b.s].apply(this,
  42. Array.prototype.slice.call(arguments,1));else this._set(f,a);return c||this},get:function(f){var a=this._getAttrNames(f);return this[a.g]?this[a.g]():this[f]},_setDisabledAttr:function(f){this.disabled=f;this.updateState()},_getAttrNames:function(f){var a=this._attrPairNames;if(a[f])return a[f];var b=f.charAt(0).toUpperCase()+f.substr(1);return a[f]={s:"_set"+b+"Attr",g:"_get"+b+"Attr"}},_set:function(f,a){this[f]=a}});o.registry={};return o})},"dijit/_editor/plugins/FontChoice":function(){define("dijit/_editor/plugins/FontChoice",
  43. "dojo/_base/array dojo/_base/declare dojo/dom-construct dojo/i18n dojo/_base/lang dojo/store/Memory dojo/_base/window ../../registry ../../_Widget ../../_TemplatedMixin ../../_WidgetsInTemplateMixin ../../form/FilteringSelect ../_Plugin ../range ../selection dojo/i18n!../nls/FontChoice".split(" "),function(m,o,x,h,f,a,b,c,d,g,e,u,s,j,p){var d=o("dijit._editor.plugins._FontDropDown",[d,g,e],{label:"",plainText:!1,templateString:"<span style='white-space: nowrap' class='dijit dijitReset dijitInline'><label class='dijitLeft dijitInline' for='${selectId}'>${label}</label><input data-dojo-type='dijit.form.FilteringSelect' required='false' data-dojo-props='labelType:\"html\", labelAttr:\"label\", searchAttr:\"name\"' tabIndex='-1' id='${selectId}' data-dojo-attach-point='select' value=''/></span>",
  44. postMixInProperties:function(){this.inherited(arguments);this.strings=h.getLocalization("dijit._editor","FontChoice");this.label=this.strings[this.command];this.id=c.getUniqueId(this.declaredClass.replace(/\./g,"_"));this.selectId=this.id+"_select";this.inherited(arguments)},postCreate:function(){this.select.set("store",new a({idProperty:"value",data:m.map(this.values,function(a){var b=this.strings[a]||a;return{label:this.getLabel(a,b),name:b,value:a}},this)}));this.select.set("value","",!1);this.disabled=
  45. this.select.get("disabled")},_setValueAttr:function(a,b){b=!1!==b;this.select.set("value",0>m.indexOf(this.values,a)?"":a,b);b||(this.select._lastValueReported=null)},_getValueAttr:function(){return this.select.get("value")},focus:function(){this.select.focus()},_setDisabledAttr:function(a){this.disabled=a;this.select.set("disabled",a)}}),H=o("dijit._editor.plugins._FontNameDropDown",d,{generic:!1,command:"fontName",postMixInProperties:function(){this.values||(this.values=this.generic?["serif","sans-serif",
  46. "monospace","cursive","fantasy"]:["Arial","Times New Roman","Comic Sans MS","Courier New"]);this.inherited(arguments)},getLabel:function(a,b){return this.plainText?b:"<div style='font-family: "+a+"'>"+b+"</div>"},_setValueAttr:function(a,b){this.generic&&(a={Arial:"sans-serif",Helvetica:"sans-serif",Myriad:"sans-serif",Times:"serif","Times New Roman":"serif","Comic Sans MS":"cursive","Apple Chancery":"cursive",Courier:"monospace","Courier New":"monospace",Papyrus:"fantasy","Estrangelo Edessa":"cursive",
  47. Gabriola:"fantasy"}[a]||a);this.inherited(arguments,[a,!1!==b])}}),J=o("dijit._editor.plugins._FontSizeDropDown",d,{command:"fontSize",values:[1,2,3,4,5,6,7],getLabel:function(a,b){return this.plainText?b:"<font size="+a+"'>"+b+"</font>"},_setValueAttr:function(a,b){b=!1!==b;a.indexOf&&-1!=a.indexOf("px")&&(a={10:1,13:2,16:3,18:4,24:5,32:6,48:7}[parseInt(a,10)]||a);this.inherited(arguments,[a,b])}}),i=o("dijit._editor.plugins._FormatBlockDropDown",d,{command:"formatBlock",values:"noFormat p h1 h2 h3 pre".split(" "),
  48. postCreate:function(){this.inherited(arguments);this.set("value","noFormat",!1)},getLabel:function(a,b){return this.plainText||"noFormat"==a?b:"<"+a+">"+b+"</"+a+">"},_execCommand:function(a,c,d){if("noFormat"===d){var e;if((c=j.getSelection(a.window))&&0<c.rangeCount){var d=c.getRangeAt(0),g;if(d){c=d.startContainer;for(e=d.endContainer;c&&c!==a.editNode&&c!==a.document.body&&1!==c.nodeType;)c=c.parentNode;for(;e&&e!==a.editNode&&e!==a.document.body&&1!==e.nodeType;)e=e.parentNode;var i=f.hitch(this,
  49. function(c,d){if(c.childNodes&&c.childNodes.length){var e;for(e=0;e<c.childNodes.length;e++){var k=c.childNodes[e];if(1==k.nodeType&&b.withGlobal(a.window,"inSelection",p,[k])){var l=k.tagName?k.tagName.toLowerCase():"";-1!==m.indexOf(this.values,l)&&d.push(k);i(k,d)}}}}),d=f.hitch(this,function(b){if(b&&b.length){for(a.beginEditing();b.length;)this._removeFormat(a,b.pop());a.endEditing()}}),h=[];if(c==e){var u;for(e=c;e&&e!==a.editNode&&e!==a.document.body;){if(1==e.nodeType&&(g=e.tagName?e.tagName.toLowerCase():
  50. "",-1!==m.indexOf(this.values,g))){u=e;break}e=e.parentNode}i(c,h);u&&(h=[u].concat(h))}else for(e=c;b.withGlobal(a.window,"inSelection",p,[e]);)1==e.nodeType&&(g=e.tagName?e.tagName.toLowerCase():"",-1!==m.indexOf(this.values,g)&&h.push(e),i(e,h)),e=e.nextSibling;d(h);a.onDisplayChanged()}}}else a.execCommand(c,d)},_removeFormat:function(a,c){if(a.customUndo){for(;c.firstChild;)x.place(c.firstChild,c,"before");c.parentNode.removeChild(c)}else{b.withGlobal(a.window,"selectElementChildren",p,[c]);
  51. var d=b.withGlobal(a.window,"getSelectedHtml",p,[null]);b.withGlobal(a.window,"selectElement",p,[c]);a.execCommand("inserthtml",d||"")}}}),I=o("dijit._editor.plugins.FontChoice",s,{useDefaultCommand:!1,_initButton:function(){var a={fontName:H,fontSize:J,formatBlock:i}[this.command],b=this.params;this.params.custom&&(b.values=this.params.custom);var c=this.editor;this.button=new a(f.delegate({dir:c.dir,lang:c.lang},b));this.connect(this.button.select,"onChange",function(a){this.editor.focused&&this.editor.focus();
  52. "fontName"==this.command&&-1!=a.indexOf(" ")&&(a="'"+a+"'");this.button._execCommand?this.button._execCommand(this.editor,this.command,a):this.editor.execCommand(this.command,a)})},updateState:function(){var a=this.editor,b=this.command;if(a&&(a.isLoaded&&b.length)&&this.button){var c=this.get("disabled");this.button.set("disabled",c);if(!c){var d;try{d=a.queryCommandValue(b)||""}catch(e){d=""}(c=f.isString(d)&&(d.match(/'([^']*)'/)||d.match(/"([^"]*)"/)))&&(d=c[1]);if("formatBlock"===b)if(!d||"p"==
  53. d){d=null;var g;if((b=j.getSelection(this.editor.window))&&0<b.rangeCount)if(b=b.getRangeAt(0))g=b.endContainer;for(;g&&g!==a.editNode&&g!==a.document;){if((b=g.tagName?g.tagName.toLowerCase():"")&&-1<m.indexOf(this.button.values,b)){d=b;break}g=g.parentNode}d||(d="noFormat")}else 0>m.indexOf(this.button.values,d)&&(d="noFormat");d!==this.button.get("value")&&this.button.set("value",d,!1)}}}});m.forEach(["fontName","fontSize","formatBlock"],function(a){s.registry[a]=function(b){return new I({command:a,
  54. plainText:b.plainText})}})})},"dijit/_editor/html":function(){define("dijit/_editor/html",["dojo/_base/array","dojo/_base/lang","dojo/_base/sniff",".."],function(m,o,x,h){var f=document.createElement("form");x.add("dom-attributes-explicit",0==f.attributes.length);x.add("dom-attributes-specified-flag",0<f.attributes.length&&40>f.attributes.length);o.getObject("_editor",!0,h);h._editor.escapeXml=function(a,b){a=a.replace(/&/gm,"&amp;").replace(/</gm,"&lt;").replace(/>/gm,"&gt;").replace(/"/gm,"&quot;");
  55. b||(a=a.replace(/'/gm,"&#39;"));return a};h._editor.getNodeHtml=function(a){var b;switch(a.nodeType){case 1:var c=a.nodeName.toLowerCase();if(!c||"/"==c.charAt(0))return"";b="<"+c;var d=[],g={},e;if(x("dom-attributes-explicit")||x("dom-attributes-specified-flag"))for(var f=0;e=a.attributes[f++];){var s=e.name;if("_dj"!==s.substr(0,3)&&(!x("dom-attributes-specified-flag")||e.specified)&&!(s in g)){e=e.value;if("src"==s||"href"==s)a.getAttribute("_djrealurl")&&(e=a.getAttribute("_djrealurl"));8===x("ie")&&
  56. "style"===s&&(e=e.replace("HEIGHT:","height:").replace("WIDTH:","width:"));d.push([s,e]);g[s]=e}}else{var j=(/^input$|^img$/i.test(a.nodeName)?a:a.cloneNode(!1)).outerHTML,g=j.match(/[\w-]+=("[^"]*"|'[^']*'|\S*)/gi),j=j.substr(0,j.indexOf(">"));m.forEach(g,function(b){if(b){var e=b.indexOf("=");if(0<e&&(b=b.substring(0,e),"_dj"!=b.substr(0,3)))if(("src"==b||"href"==b)&&a.getAttribute("_djrealurl"))d.push([b,a.getAttribute("_djrealurl")]);else{var g;switch(b){case "style":g=a.style.cssText.toLowerCase();
  57. break;case "class":g=a.className;break;case "width":if("img"===c){(e=/width=(\S+)/i.exec(j))&&(g=e[1]);break}case "height":if("img"===c){(e=/height=(\S+)/i.exec(j))&&(g=e[1]);break}default:g=a.getAttribute(b)}null!=g&&d.push([b,g.toString()])}}},this)}d.sort(function(a,b){return a[0]<b[0]?-1:a[0]==b[0]?0:1});for(g=0;e=d[g++];)b+=" "+e[0]+'="'+(o.isString(e[1])?h._editor.escapeXml(e[1],!0):e[1])+'"';if("script"===c)b+=">"+a.innerHTML+"</"+c+">";else if(a.childNodes.length)b+=">"+h._editor.getChildrenHtml(a)+
  58. "</"+c+">";else switch(c){case "br":case "hr":case "img":case "input":case "base":case "meta":case "area":case "basefont":b+=" />";break;default:b+="></"+c+">"}break;case 4:case 3:b=h._editor.escapeXml(a.nodeValue,!0);break;case 8:b="<\!--"+h._editor.escapeXml(a.nodeValue,!0)+"--\>";break;default:b="<\!-- Element not recognized - Type: "+a.nodeType+" Name: "+a.nodeName+"--\>"}return b};h._editor.getChildrenHtml=function(a){var b="";if(!a)return b;for(var c=a.childNodes||a,d=!x("ie")||c!==a,g,e=0;g=
  59. c[e++];)if(!d||g.parentNode==a)b+=h._editor.getNodeHtml(g);return b};return h._editor})},"dijit/_editor/BuxRichText":function(){define("dijit/_editor/BuxRichText","dojo/_base/array dojo/_base/config dojo/_base/declare dojo/_base/Deferred dojo/dom dojo/dom-attr dojo/dom-class dojo/dom-construct dojo/dom-geometry dojo/dom-style dojo/_base/event dojo/_base/kernel dojo/keys dojo/_base/lang dojo/on dojo/query dojo/ready dojo/_base/sniff dojo/topic dojo/_base/unload dojo/_base/url dojo/_base/window ../_Widget ../_CssStateMixin ./selection ./range ./html ../focus ..".split(" "),
  60. function(m,o,x,h,f,a,b,c,d,g,e,u,s,j,p,H,J,i,I,y,B,r,D,G,z,t,F,n,A){var q=x("dijit._editor.BuxRichText",[D,G],{constructor:function(a){this.contentPreFilters=[];this.contentPostFilters=[];this.contentDomPreFilters=[];this.contentDomPostFilters=[];this.editingAreaStyleSheets=[];this.events=[].concat(this.events);this._keyHandlers={};a&&j.isString(a.value)&&(this.value=a.value);this.onLoadDeferred=new h},baseClass:"dijitEditor",inheritWidth:!1,focusOnLoad:!1,name:"",styleSheets:"",height:"300px",minHeight:"1em",
  61. isClosed:!0,isLoaded:!1,_SEPARATOR:"@@**%%__RICHTEXTBOUNDRY__%%**@@",_NAME_CONTENT_SEP:"@@**%%:%%**@@",onLoadDeferred:null,isTabIndent:!1,disableSpellCheck:!1,postCreate:function(){"textarea"===this.domNode.tagName.toLowerCase()&&console.warn("BuxRichText should not be used with the TEXTAREA tag. See dijit._editor.BuxRichText docs.");this.contentPreFilters=[j.hitch(this,"_preFixUrlAttributes")].concat(this.contentPreFilters);i("mozilla")&&(this.contentPreFilters=[this._normalizeFontStyle].concat(this.contentPreFilters),
  62. this.contentPostFilters=[this._removeMozBogus].concat(this.contentPostFilters));i("webkit")&&(this.contentPreFilters=[this._removeWebkitBogus].concat(this.contentPreFilters),this.contentPostFilters=[this._removeWebkitBogus].concat(this.contentPostFilters));if(i("ie")||i("trident"))this.contentPostFilters=[this._normalizeFontStyle].concat(this.contentPostFilters),this.contentDomPostFilters=[j.hitch(this,this._stripBreakerNodes)].concat(this.contentDomPostFilters);this.inherited(arguments);I.publish(A._scopeName+
  63. "._editor.BuxRichText::init",this);this.open();this.setupDefaultShortcuts()},setupDefaultShortcuts:function(){var a=j.hitch(this,function(a,k){return function(){return!this.execCommand(a,k)}}),l={b:a("bold"),i:a("italic"),u:a("underline"),a:a("selectall"),s:function(){this.save(!0)},m:function(){this.isTabIndent=!this.isTabIndent},1:a("formatblock","h1"),2:a("formatblock","h2"),3:a("formatblock","h3"),4:a("formatblock","h4"),"\\":a("insertunorderedlist")};i("ie")||(l.Z=a("redo"));for(var b in l)this.addKeyHandler(b,
  64. !0,!1,l[b])},events:["onKeyPress","onKeyDown","onKeyUp"],captureEvents:[],_editorCommandsLocalized:!1,_localizeEditorCommands:function(){if(q._editorCommandsLocalized)this._local2NativeFormatNames=q._local2NativeFormatNames,this._native2LocalFormatNames=q._native2LocalFormatNames;else{q._editorCommandsLocalized=!0;q._local2NativeFormatNames={};q._native2LocalFormatNames={};this._local2NativeFormatNames=q._local2NativeFormatNames;this._native2LocalFormatNames=q._native2LocalFormatNames;for(var a="div p pre h1 h2 h3 h4 h5 h6 ol ul address".split(" "),
  65. b="",d,e=0;d=a[e++];)b="l"!==d.charAt(1)?b+("<"+d+"><span>content</span></"+d+"><br/>"):b+("<"+d+"><li>content</li></"+d+"><br/>");var g=c.create("div",{style:{position:"absolute",top:"0px",zIndex:10,opacity:0.01},innerHTML:b});r.body().appendChild(g);a=j.hitch(this,function(){for(var a=g.firstChild;a;)try{z.selectElement(a.firstChild);var k=a.tagName.toLowerCase();this._local2NativeFormatNames[k]=document.queryCommandValue("formatblock");this._native2LocalFormatNames[this._local2NativeFormatNames[k]]=
  66. k;a=a.nextSibling.nextSibling}catch(b){}g.parentNode.removeChild(g);g.innerHTML=""});setTimeout(a,0)}},open:function(k){if(!this.onLoadDeferred||0<=this.onLoadDeferred.fired)this.onLoadDeferred=new h;this.isClosed||this.close();I.publish(A._scopeName+"._editor.BuxRichText::open",this);1===arguments.length&&k.nodeName&&(this.domNode=k);var l=this.domNode,d;if(j.isString(this.value))d=this.value,delete this.value,l.innerHTML="";else if(l.nodeName&&"textarea"==l.nodeName.toLowerCase()){var e=this.textarea=
  67. l;this.name=e.name;d=e.value;l=this.domNode=r.doc.createElement("div");l.setAttribute("widgetId",this.id);e.removeAttribute("widgetId");l.cssText=e.cssText;l.className+=" "+e.className;c.place(l,e,"before");var E=j.hitch(this,function(){g.set(e,{display:"block",position:"absolute",top:"-1000px"});if(i("ie")){var a=e.style;this.__overflow=a.overflow;a.overflow="hidden"}});i("ie")?setTimeout(E,10):E();if(e.form){var u=e.value;this.reset=function(){this.getValue()!==u&&this.replaceValue(u)};p(e.form,
  68. "submit",j.hitch(this,function(){a.set(e,"disabled",this.disabled);e.value=this.getValue()}))}}else d=F.getChildrenHtml(l),l.innerHTML="";this.value=d;l.nodeName&&"LI"===l.nodeName&&(l.innerHTML=" <br>");this.header=l.ownerDocument.createElement("div");l.appendChild(this.header);this.editingArea=l.ownerDocument.createElement("div");l.appendChild(this.editingArea);this.footer=l.ownerDocument.createElement("div");l.appendChild(this.footer);this.name||(this.name=this.id+"_AUTOGEN");if(""!==this.name&&
  69. (!o.useXDomain||o.allowXdRichTextSave)){if((E=f.byId(A._scopeName+"._editor.BuxRichText.value"))&&""!==E.value)for(var m=E.value.split(this._SEPARATOR),n=0,t;t=m[n++];)if(t=t.split(this._NAME_CONTENT_SEP),t[0]===this.name){d=t[1];m=m.splice(n,1);E.value=m.join(this._SEPARATOR);break}q._globalSaveHandler||(q._globalSaveHandler={},y.addOnUnload(function(){for(var a in q._globalSaveHandler){var k=q._globalSaveHandler[a];j.isFunction(k)&&k()}}));q._globalSaveHandler[this.id]=j.hitch(this,"_saveContent")}this.isClosed=
  70. !1;var C=this.editorObject=this.iframe=r.doc.createElement("iframe");C.id=this.id+"_iframe";C.style.border="none";C.style.width="100%";this._layoutMode?C.style.height="100%":7<=i("ie")?(this.height&&(C.style.height=this.height),this.minHeight&&(C.style.minHeight=this.minHeight)):C.style.height=this.height?this.height:this.minHeight;C.frameBorder=0;C._loadFunc=j.hitch(this,function(a){this.window=a;this.document=a.document;i("ie")&&this._localizeEditorCommands();this.onLoad(d)});var E=this._getIframeDocTxt().replace(/\\/g,
  71. "\\\\").replace(/'/g,"\\'"),K;K=11>i("ie")?'javascript:document.open();try{parent.window;}catch(e){document.domain="'+document.domain+"\";}document.write('"+E+"');document.close()":"javascript: '"+E+"'";9==i("ie")?(this.editingArea.appendChild(C),C.src=K):(C.setAttribute("src",K),this.editingArea.appendChild(C));4>=i("safari")&&(E=C.getAttribute("src"),(!E||-1===E.indexOf("javascript"))&&setTimeout(function(){C.setAttribute("src",K)},0));"LI"===l.nodeName&&(l.lastChild.style.marginTop="-1.2em");b.add(this.domNode,
  72. this.baseClass)},_local2NativeFormatNames:{},_native2LocalFormatNames:{},_getIframeDocTxt:function(){var a=g.getComputedStyle(this.domNode),b=[a.fontWeight,a.fontSize,a.fontFamily].join(" "),c=a.lineHeight,c=0<=c.indexOf("px")?parseFloat(c)/parseFloat(a.fontSize):0<=c.indexOf("em")?parseFloat(c):"normal",d="",e=this;this.style.replace(/(^|;)\s*(line-|font-?)[^;]+/ig,function(a){var a=a.replace(/^;/ig,"")+";",k=a.split(":")[0];if(k){var k=j.trim(k),k=k.toLowerCase(),b,l="";for(b=0;b<k.length;b++){var c=
  73. k.charAt(b);switch(c){case "-":b++,c=k.charAt(b).toUpperCase();default:l+=c}}g.set(e.domNode,l,"")}d+=a+";"});a=H('label[for="'+this.id+'"]');return[this.isLeftToRight()?"<html>\n<head>\n":"<html dir='rtl'>\n<head>\n",i("mozilla")&&a.length?"<title>"+a[0].innerHTML+"</title>\n":"","<meta http-equiv='Content-Type' content='text/html'>\n<style>\n\tbody,html {\n\t\tbackground:transparent;\n\t\tpadding: 1px 0 0 0;\n\t\tmargin: -1px 0 0 0;\n\t}\n\tbody,html,#dijitEditorBody { outline: none; }html { height: 100%; width: 100%; overflow: hidden; }\n",
  74. this.height?"\tbody,#dijitEditorBody { height: 100%; width: 100%; overflow: auto; }\n":"\tbody,#dijitEditorBody { min-height: "+this.minHeight+"; width: 100%; overflow-x: auto; overflow-y: hidden; }\n","\tbody{\n\t\ttop:0px;\n\t\tleft:0px;\n\t\tright:0px;\n\t\tfont:",b,";\n",this.height||i("opera")?"":"\t\tposition: fixed;\n","\t\tline-height:",c,";\n\t}\n\tp{ margin: 1em 0; }\n\tli > ul:-moz-first-node, li > ol:-moz-first-node{ padding-top: 1.2em; }\n",i("ie")||i("trident")?"":"\tli{ min-height:1.2em; }\n",
  75. "</style>\n",this._applyEditingAreaStyleSheets(),"\n</head>\n<body </head>\n<body role='main' onload='frameElement && frameElement._loadFunc(window,document)' ","style='"+d+"'>","<div id='dijitEditorBody'></div></body>\n</html>"].join("")},_applyEditingAreaStyleSheets:function(){var a=[];this.styleSheets&&(a=this.styleSheets.split(";"),this.styleSheets="");a=a.concat(this.editingAreaStyleSheets);this.editingAreaStyleSheets=[];for(var b="",c=0,d;d=a[c++];)d=(new B(r.global.location,d)).toString(),
  76. this.editingAreaStyleSheets.push(d),b+='<link rel="stylesheet" type="text/css" href="'+d+'"/>';return b},addStyleSheet:function(a){var b=a.toString();if("."===b.charAt(0)||"/"!==b.charAt(0)&&!a.host)b=(new B(r.global.location,b)).toString();-1<m.indexOf(this.editingAreaStyleSheets,b)||(this.editingAreaStyleSheets.push(b),this.onLoadDeferred.addCallback(j.hitch(this,function(){if(this.document.createStyleSheet)this.document.createStyleSheet(b);else{var a=this.document.getElementsByTagName("head")[0],
  77. k=this.document.createElement("link");k.rel="stylesheet";k.type="text/css";k.href=b;a.appendChild(k)}})))},removeStyleSheet:function(a){var b=a.toString();if("."===b.charAt(0)||"/"!==b.charAt(0)&&!a.host)b=(new B(r.global.location,b)).toString();a=m.indexOf(this.editingAreaStyleSheets,b);-1!==a&&(delete this.editingAreaStyleSheets[a],r.withGlobal(this.window,"query",dojo,['link:[href="'+b+'"]']).orphan())},disabled:!1,_mozSettingProps:{styleWithCSS:!1},_setDisabledAttr:function(a){a=!!a;this._set("disabled",
  78. a);if(this.isLoaded){var b=i("ie")&&(this.isLoaded||!this.focusOnLoad);b&&(this.editNode.unselectable="on");this.editNode.contentEditable=!a;this.editNode.tabIndex=a?"-1":this.tabIndex;b&&this.defer(function(){this.editNode&&(this.editNode.unselectable="off")});if(i("mozilla")&&!a&&this._mozSettingProps){var a=this._mozSettingProps,c;for(c in a)if(a.hasOwnProperty(c))try{this.document.execCommand(c,!1,a[c])}catch(d){}}this._disabledOK=!0}},onLoad:function(a){this.window.__registeredWindow||(this.window.__registeredWindow=
  79. !0,this._iframeRegHandle=n.registerIframe(this.iframe));this.editNode=this.document.body.firstChild;var b=this;this.beforeIframeNode=c.place("<div tabIndex=-1></div>",this.iframe,"before");this.afterIframeNode=c.place("<div tabIndex=-1></div>",this.iframe,"after");this.iframe.onfocus=this.document.onfocus=function(){b.editNode.focus()};this.focusNode=this.editNode;var d=this.events.concat(this.captureEvents),e=this.iframe?this.document:this.editNode;m.forEach(d,function(a){this.connect(e,a.toLowerCase(),
  80. a)},this);this.connect(e,"onmouseup","onClick");i("ie")?(this.connect(this.document,"onmousedown","_onIEMouseDown"),this.editNode.style.zoom=1):this.connect(this.document,"onmousedown",function(){delete this._cursorToStart});i("webkit")&&(this._webkitListener=this.connect(this.document,"onmouseup","onDisplayChanged"),this.connect(this.document,"onmousedown",function(a){(a=a.target)&&(a===this.document.body||a===this.document)&&setTimeout(j.hitch(this,"placeCursorAtEnd"),0)}));if(i("ie"))try{this.document.execCommand("RespectVisibilityInDesign",
  81. !0,null)}catch(g){}this.isLoaded=!0;this.set("disabled",this.disabled);d=j.hitch(this,function(){var b=this.value;this.setValue(a);try{this.onLoadDeferred&&this.onLoadDeferred.callback(!0)}catch(l){if("This deferred has already been resolved"===l.message)this.setValue(b);else throw l;}this.onDisplayChanged();this.focusOnLoad&&J(j.hitch(this,function(){setTimeout(j.hitch(this,"focus"),this.updateInterval)}));this.value=this.getValue(!0)});this.setValueDeferred?this.setValueDeferred.addCallback(d):
  82. d()},onKeyDown:function(a){if(a.keyCode===s.TAB&&this.isTabIndent&&(e.stop(a),this.queryCommandEnabled(a.shiftKey?"outdent":"indent")))this.execCommand(a.shiftKey?"outdent":"indent");a.keyCode==s.TAB&&!this.isTabIndent&&(a.shiftKey&&!a.ctrlKey&&!a.altKey?this.beforeIframeNode.focus():!a.shiftKey&&(!a.ctrlKey&&!a.altKey)&&this.afterIframeNode.focus());9>i("ie")&&(a.keyCode===s.BACKSPACE&&"Control"===this.document.selection.type)&&(a.stopPropagation(),a.preventDefault(),this.execCommand("delete"));
  83. i("ff")&&(a.keyCode===s.PAGE_UP||a.keyCode===s.PAGE_DOWN)&&this.editNode.clientHeight>=this.editNode.scrollHeight&&a.preventDefault();return!0},onKeyUp:function(){},setDisabled:function(a){u.deprecated("dijit.Editor::setDisabled is deprecated",'use dijit.Editor::attr("disabled",boolean) instead',2);this.set("disabled",a)},_setValueAttr:function(a){this.setValue(a)},_setDisableSpellCheckAttr:function(k){this.document?a.set(this.document.body,"spellcheck",!k):this.onLoadDeferred.addCallback(j.hitch(this,
  84. function(){a.set(this.document.body,"spellcheck",!k)}));this._set("disableSpellCheck",k)},onKeyPress:function(a){if(a.keyCode===s.SHIFT||a.keyCode===s.ALT||a.keyCode===s.META||a.keyCode===s.CTRL||a.keyCode==s.TAB&&!this.isTabIndent&&!a.ctrlKey&&!a.altKey)return!0;var b=a.keyChar&&a.keyChar.toLowerCase()||a.keyCode,b=this._keyHandlers[b],c=arguments;b&&!a.altKey&&m.some(b,function(b){if(!(b.shift^a.shiftKey)&&!(b.ctrl^(a.ctrlKey||a.metaKey)))return b.handler.apply(this,c)||a.preventDefault(),!0},this);
  85. this._onKeyHitch||(this._onKeyHitch=j.hitch(this,"onKeyPressed"));setTimeout(this._onKeyHitch,1);return!0},addKeyHandler:function(a,b,c,d){j.isArray(this._keyHandlers[a])||(this._keyHandlers[a]=[]);this._keyHandlers[a].push({shift:c||!1,ctrl:b||!1,handler:d})},onKeyPressed:function(){this.onDisplayChanged()},onClick:function(a){this.onDisplayChanged(a)},_onIEMouseDown:function(){!this.focused&&!this.disabled&&this.focus()},_onBlur:function(a){this.inherited(arguments);var b=this.getValue(!0);if(b!==
  86. this.value)this.onChange(b);this._set("value",b)},_onFocus:function(a){this.disabled||(this._disabledOK||this.set("disabled",!1),this.inherited(arguments))},blur:function(){!i("ie")&&this.window.document.documentElement&&this.window.document.documentElement.focus?this.window.document.documentElement.focus():r.doc.body.focus&&r.doc.body.focus()},focus:function(){if(this.isLoaded){if(this._cursorToStart&&(delete this._cursorToStart,this.editNode.childNodes)){this.placeCursorAtStart();return}9>i("ie")?
  87. this.iframe.fireEvent("onfocus",document.createEventObject()):this.editNode.focus()}else this.focusOnLoad=!0},updateInterval:200,_updateTimer:null,onDisplayChanged:function(){this._updateTimer&&clearTimeout(this._updateTimer);this._updateHandler||(this._updateHandler=j.hitch(this,"onNormalizedDisplayChanged"));this._updateTimer=setTimeout(this._updateHandler,this.updateInterval)},onNormalizedDisplayChanged:function(){delete this._updateTimer},onChange:function(){},_normalizeCommand:function(a,b){var c=
  88. a.toLowerCase();"formatblock"===c?i("safari")&&void 0===b&&(c="heading"):"hilitecolor"===c&&!i("mozilla")&&(c="backcolor");return c},_qcaCache:{},queryCommandAvailable:function(a){var b=this._qcaCache[a];return void 0!==b?b:this._qcaCache[a]=this._queryCommandAvailable(a)},_queryCommandAvailable:function(a){function b(a){return{ie:Boolean(a&c),mozilla:Boolean(a&d),webkit:Boolean(a&e),opera:Boolean(a&g)}}var c=1,d=2,e=4,g=8,f=null;switch(a.toLowerCase()){case "bold":case "italic":case "underline":case "subscript":case "superscript":case "fontname":case "fontsize":case "forecolor":case "hilitecolor":case "justifycenter":case "justifyfull":case "justifyleft":case "justifyright":case "delete":case "selectall":case "toggledir":f=
  89. b(d|c|e|g);break;case "createlink":case "unlink":case "removeformat":case "inserthorizontalrule":case "insertimage":case "insertorderedlist":case "insertunorderedlist":case "indent":case "outdent":case "formatblock":case "inserthtml":case "undo":case "redo":case "strikethrough":case "tabindent":f=b(d|c|g|e);break;case "blockdirltr":case "blockdirrtl":case "dirltr":case "dirrtl":case "inlinedirltr":case "inlinedirrtl":f=b(c);break;case "cut":case "copy":case "paste":f=b(c|d|e);break;case "inserttable":f=
  90. b(d|c);break;case "insertcell":case "insertcol":case "insertrow":case "deletecells":case "deletecols":case "deleterows":case "mergecells":case "splitcell":f=b(c|d);break;default:return!1}return(i("ie")||i("trident"))&&f.ie||i("mozilla")&&f.mozilla||i("webkit")&&f.webkit||i("opera")&&f.opera},execCommand:function(a,b){var c;this.focused&&this.focus();a=this._normalizeCommand(a,b);if(void 0!==b){if("heading"===a)throw Error("unimplemented");if("formatblock"===a&&(i("ie")||i("trident")))b="<"+b+">"}var d=
  91. "_"+a+"Impl";if(this[d])c=this[d](b);else if((b=1<arguments.length?b:null)||"createlink"!==a)c=this.document.execCommand(a,!1,b);this.onDisplayChanged();return c},queryCommandEnabled:function(a){if(this.disabled||!this._disabledOK)return!1;var a=this._normalizeCommand(a),b="_"+a+"EnabledImpl";return this[b]?this[b](a):this._browserQueryCommandEnabled(a)},queryCommandState:function(a){if(this.disabled||!this._disabledOK)return!1;a=this._normalizeCommand(a);try{return this.document.queryCommandState(a)}catch(b){return!1}},
  92. queryCommandValue:function(a){if(this.disabled||!this._disabledOK)return!1;a=this._normalizeCommand(a);if((i("ie")||i("trident"))&&"formatblock"===a)a=this._native2LocalFormatNames[this.document.queryCommandValue(a)];else if(i("mozilla")&&"hilitecolor"===a){var b;try{b=this.document.queryCommandValue("styleWithCSS")}catch(c){b=!1}this.document.execCommand("styleWithCSS",!1,!0);a=this.document.queryCommandValue(a);this.document.execCommand("styleWithCSS",!1,b)}else a=this.document.queryCommandValue(a);
  93. return a},_sCall:function(a,b){return r.withGlobal(this.window,a,z,b)},placeCursorAtStart:function(){this.focus();var a=!1;if(i("mozilla"))for(var b=this.editNode.firstChild;b;){if(3===b.nodeType){if(0<b.nodeValue.replace(/^\s+|\s+$/g,"").length){a=!0;this._sCall("selectElement",[b]);break}}else if(1===b.nodeType){var a=!0,c=b.tagName?b.tagName.toLowerCase():"";/br|input|img|base|meta|area|basefont|hr|link/.test(c)?this._sCall("selectElement",[b]):this._sCall("selectElementChildren",[b]);break}b=
  94. b.nextSibling}else a=!0,this._sCall("selectElementChildren",[this.editNode]);a&&this._sCall("collapse",[!0])},placeCursorAtEnd:function(){this.focus();var a=!1;if(i("mozilla"))for(var b=this.editNode.lastChild;b;){if(3===b.nodeType){if(0<b.nodeValue.replace(/^\s+|\s+$/g,"").length){a=!0;this._sCall("selectElement",[b]);break}}else if(1===b.nodeType){a=!0;b.lastChild?this._sCall("selectElement",[b.lastChild]):this._sCall("selectElement",[b]);break}b=b.previousSibling}else a=!0,this._sCall("selectElementChildren",
  95. [this.editNode]);a&&this._sCall("collapse",[!1])},getValue:function(a){return this.textarea&&(this.isClosed||!this.isLoaded)?this.textarea.value:this._postFilterContent(null,a)},_getValueAttr:function(){return this.getValue(!0)},setValue:function(a){if(this.isLoaded){this._cursorToStart=!0;if(this.textarea&&(this.isClosed||!this.isLoaded))this.textarea.value=a;else{var a=this._preFilterContent(a),b=this.isClosed?this.domNode:this.editNode;!a&&i("webkit")&&(a="&#160;");b.innerHTML=a;this._preDomFilterContent(b)}this.onDisplayChanged();
  96. this._set("value",this.getValue(!0))}else this.onLoadDeferred.addCallback(j.hitch(this,function(){this.setValue(a)}))},replaceValue:function(a){this.isClosed?this.setValue(a):this.window&&this.window.getSelection&&!i("mozilla")?this.setValue(a):this.window&&this.window.getSelection?(a=this._preFilterContent(a),this.execCommand("selectall"),this.execCommand("inserthtml",a),this._preDomFilterContent(this.editNode)):this.document&&this.document.selection&&this.setValue(a);this._set("value",this.getValue(!0))},
  97. _preFilterContent:function(a){var b=a;m.forEach(this.contentPreFilters,function(a){a&&(b=a(b))});return b},_preDomFilterContent:function(a){a=a||this.editNode;m.forEach(this.contentDomPreFilters,function(b){b&&j.isFunction(b)&&b(a)},this)},_postFilterContent:function(a,b){var c;j.isString(a)?c=a:(a=a||this.editNode,this.contentDomPostFilters.length&&(b&&(a=j.clone(a)),m.forEach(this.contentDomPostFilters,function(b){a=b(a)})),c=F.getChildrenHtml(a));j.trim(c.replace(/^\xA0\xA0*/,"").replace(/\xA0\xA0*$/,
  98. "")).length||(c="");m.forEach(this.contentPostFilters,function(a){c=a(c)});return c},_saveContent:function(){var a=f.byId(A._scopeName+"._editor.BuxRichText.value");a&&(a.value&&(a.value+=this._SEPARATOR),a.value+=this.name+this._NAME_CONTENT_SEP+this.getValue(!0))},escapeXml:function(a,b){a=a.replace(/&/gm,"&amp;").replace(/</gm,"&lt;").replace(/>/gm,"&gt;").replace(/"/gm,"&quot;");b||(a=a.replace(/'/gm,"&#39;"));return a},getNodeHtml:function(a){u.deprecated("dijit.Editor::getNodeHtml is deprecated",
  99. "use dijit/_editor/html::getNodeHtml instead",2);return F.getNodeHtml(a)},getNodeChildrenHtml:function(a){u.deprecated("dijit.Editor::getNodeChildrenHtml is deprecated","use dijit/_editor/html::getChildrenHtml instead",2);return F.getChildrenHtml(a)},close:function(a){if(!this.isClosed){arguments.length||(a=!0);a&&this._set("value",this.getValue(!0));this.interval&&clearInterval(this.interval);this._webkitListener&&(this.disconnect(this._webkitListener),delete this._webkitListener);i("ie")&&(this.iframe.onfocus=
  100. null);this.iframe._loadFunc=null;this._iframeRegHandle&&(this._iframeRegHandle.remove(),delete this._iframeRegHandle);if(this.textarea){var d=this.textarea.style;d.position="";d.left=d.top="";i("ie")&&(d.overflow=this.__overflow,this.__overflow=null);this.textarea.value=this.value;c.destroy(this.domNode);this.domNode=this.textarea}else this.domNode.innerHTML=this.value;delete this.iframe;b.remove(this.domNode,this.baseClass);this.isClosed=!0;this.isLoaded=!1;delete this.editNode;delete this.focusNode;
  101. this.window&&this.window._frameElement&&(this.window._frameElement=null);this.editorObject=this.editingArea=this.document=this.window=null}},destroy:function(){this.isClosed||this.close(!1);this._updateTimer&&clearTimeout(this._updateTimer);this.inherited(arguments);q._globalSaveHandler&&delete q._globalSaveHandler[this.id]},_removeMozBogus:function(a){return a.replace(/\stype="_moz"/gi,"").replace(/\s_moz_dirty=""/gi,"").replace(/_moz_resizing="(true|false)"/gi,"")},_removeWebkitBogus:function(a){a=
  102. a.replace(/\sclass="webkit-block-placeholder"/gi,"");a=a.replace(/\sclass="apple-style-span"/gi,"");return a=a.replace(/<meta charset=\"utf-8\" \/>/gi,"")},_normalizeFontStyle:function(a){return a.replace(/<(\/)?strong([ \>])/gi,"<$1b$2").replace(/<(\/)?em([ \>])/gi,"<$1i$2")},_preFixUrlAttributes:function(a){return a.replace(/(?:(<a(?=\s).*?\shref=)("|')(.*?)\2)|(?:(<a\s.*?href=)([^"'][^ >]+))/gi,"$1$4$2$3$5$2 _djrealurl=$2$3$5$2").replace(/(?:(<img(?=\s).*?\ssrc=)("|')(.*?)\2)|(?:(<img\s.*?src=)([^"'][^ >]+))/gi,
  103. "$1$4$2$3$5$2 _djrealurl=$2$3$5$2")},_browserQueryCommandEnabled:function(a){if(!a)return!1;var b=9>i("ie")?this.document.selection.createRange():this.document;try{return b.queryCommandEnabled(a)}catch(c){return!1}},_createlinkEnabledImpl:function(){var a=!0;return a=i("opera")?this.window.getSelection().isCollapsed?!0:this.document.queryCommandEnabled("createlink"):this._browserQueryCommandEnabled("createlink")},_unlinkEnabledImpl:function(){var a=!0;return a=i("mozilla")||i("webkit")?this._sCall("hasAncestorElement",
  104. ["a"]):this._browserQueryCommandEnabled("unlink")},_inserttableEnabledImpl:function(){var a=!0;return a=i("mozilla")||i("webkit")?!0:this._browserQueryCommandEnabled("inserttable")},_cutEnabledImpl:function(){var a=!0;i("webkit")?((a=this.window.getSelection())&&(a=a.toString()),a=!!a):a=this._browserQueryCommandEnabled("cut");return a},_copyEnabledImpl:function(){var a=!0;i("webkit")?((a=this.window.getSelection())&&(a=a.toString()),a=!!a):a=this._browserQueryCommandEnabled("copy");return a},_pasteEnabledImpl:function(){var a=
  105. !0;return i("webkit")?!0:a=this._browserQueryCommandEnabled("paste")},_inserthorizontalruleImpl:function(a){return i("ie")?this._inserthtmlImpl("<hr>"):this.document.execCommand("inserthorizontalrule",!1,a)},_unlinkImpl:function(a){return this.queryCommandEnabled("unlink")&&(i("mozilla")||i("webkit"))?(a=this._sCall("getAncestorElement",["a"]),this._sCall("selectElement",[a]),this.document.execCommand("unlink",!1,null)):this.document.execCommand("unlink",!1,a)},_hilitecolorImpl:function(a){var b;
  106. this._handleTextColorOrProperties("hilitecolor",a)||(i("mozilla")?(this.document.execCommand("styleWithCSS",!1,!0),b=this.document.execCommand("hilitecolor",!1,a),this.document.execCommand("styleWithCSS",!1,!1)):b=this.document.execCommand("hilitecolor",!1,a));return b},_backcolorImpl:function(a){i("ie")&&(a=a?a:null);var b=this._handleTextColorOrProperties("backcolor",a);b||(b=this.document.execCommand("backcolor",!1,a));return b},_forecolorImpl:function(a){i("ie")&&(a=a?a:null);var b=!1;(b=this._handleTextColorOrProperties("forecolor",
  107. a))||(b=this.document.execCommand("forecolor",!1,a));return b},_inserthtmlImpl:function(a){var a=this._preFilterContent(a),b=!0;if(9>i("ie")){var d=this.document.selection.createRange();if("CONTROL"===this.document.selection.type.toUpperCase()){for(var e=d.item(0);d.length;)d.remove(d.item(0));e.outerHTML=a}else d.pasteHTML(a);d.select()}else if(8>i("trident")){var g=t.getSelection(this.window);if(g&&g.rangeCount&&g.getRangeAt){d=g.getRangeAt(0);d.deleteContents();var f=c.create("div");f.innerHTML=
  108. a;for(var h,e=this.document.createDocumentFragment();a=f.firstChild;)h=e.appendChild(a);d.insertNode(e);h&&(d=d.cloneRange(),d.setStartAfter(h),d.collapse(!1),g.removeAllRanges(),g.addRange(d))}}else i("mozilla")&&!a.length?this._sCall("remove"):b=this.document.execCommand("inserthtml",!1,a);return b},_boldImpl:function(a){var b=!1;if(i("ie")||i("trident"))this._adaptIESelection(),b=this._adaptIEFormatAreaAndExec("bold");b||(b=this.document.execCommand("bold",!1,a));return b},_italicImpl:function(a){var b=
  109. !1;if(i("ie")||i("trident"))this._adaptIESelection(),b=this._adaptIEFormatAreaAndExec("italic");b||(b=this.document.execCommand("italic",!1,a));return b},_underlineImpl:function(a){var b=!1;if(i("ie")||i("trident"))this._adaptIESelection(),b=this._adaptIEFormatAreaAndExec("underline");b||(b=this.document.execCommand("underline",!1,a));return b},_strikethroughImpl:function(a){var b=!1;if(i("ie")||i("trident"))this._adaptIESelection(),b=this._adaptIEFormatAreaAndExec("strikethrough");b||(b=this.document.execCommand("strikethrough",
  110. !1,a));return b},_superscriptImpl:function(a){var b=!1;if(i("ie")||i("trident"))this._adaptIESelection(),b=this._adaptIEFormatAreaAndExec("superscript");b||(b=this.document.execCommand("superscript",!1,a));return b},_subscriptImpl:function(a){var b=!1;if(i("ie")||i("trident"))this._adaptIESelection(),b=this._adaptIEFormatAreaAndExec("subscript");b||(b=this.document.execCommand("subscript",!1,a));return b},_fontnameImpl:function(a){var b;if(i("ie")||i("trident"))b=this._handleTextColorOrProperties("fontname",
  111. a);b||(b=this.document.execCommand("fontname",!1,a));return b},_fontsizeImpl:function(a){var b;if(i("ie")||i("trident"))b=this._handleTextColorOrProperties("fontsize",a);b||(b=this.document.execCommand("fontsize",!1,a));return b},_insertorderedlistImpl:function(a){var b=!1;if(i("ie")||i("trident"))b=this._adaptIEList("insertorderedlist",a);b||(b=this.document.execCommand("insertorderedlist",!1,a));return b},_insertunorderedlistImpl:function(a){var b=!1;if(i("ie")||i("trident"))b=this._adaptIEList("insertunorderedlist",
  112. a);b||(b=this.document.execCommand("insertunorderedlist",!1,a));return b},getHeaderHeight:function(){return this._getNodeChildrenHeight(this.header)},getFooterHeight:function(){return this._getNodeChildrenHeight(this.footer)},_getNodeChildrenHeight:function(a){var b=0;if(a&&a.childNodes){var c;for(c=0;c<a.childNodes.length;c++)var e=d.position(a.childNodes[c]),b=b+e.h}return b},_isNodeEmpty:function(a,b){return 1===a.nodeType?0<a.childNodes.length?this._isNodeEmpty(a.childNodes[0],b):!0:3===a.nodeType?
  113. ""===a.nodeValue.substring(b):!1},_removeStartingRangeFromRange:function(a,b){if(a.nextSibling)b.setStart(a.nextSibling,0);else{for(var c=a.parentNode;c&&null==c.nextSibling;)c=c.parentNode;c&&b.setStart(c.nextSibling,0)}return b},_adaptIESelection:function(){var a=t.getSelection(this.window);if(a&&a.rangeCount&&!a.isCollapsed){for(var b=a.getRangeAt(0),c=b.startContainer,d=b.startOffset;3===c.nodeType&&d>=c.length&&c.nextSibling;)d-=c.length,c=c.nextSibling;for(var e=null;this._isNodeEmpty(c,d)&&
  114. c!==e;)e=c,b=this._removeStartingRangeFromRange(c,b),c=b.startContainer,d=0;a.removeAllRanges();a.addRange(b)}},_adaptIEFormatAreaAndExec:function(a){var b=t.getSelection(this.window),d=this.document,e,g,f,i,h,u,p,n;if(a&&b&&b.isCollapsed){if(this.queryCommandValue(a)){var o=this._tagNamesForCommand(a);f=b.getRangeAt(0);var q=f.startContainer;if(3===q.nodeType){var w=f.endOffset;q.length<w&&(g=this._adjustNodeAndOffset(e,w),q=g.node,w=g.offset)}for(var s;q&&q!==this.editNode;){w=q.tagName?q.tagName.toLowerCase():
  115. "";if(-1<m.indexOf(o,w)){s=q;break}q=q.parentNode}if(s&&(e=f.startContainer,o=d.createElement(s.tagName),c.place(o,s,"after"),e&&3===e.nodeType)){var v,x,q=f.endOffset;e.length<q&&(g=this._adjustNodeAndOffset(e,q),e=g.node,q=g.offset);i=e.nodeValue;h=d.createTextNode(i.substring(0,q));(q=i.substring(q,i.length))&&(u=d.createTextNode(q));c.place(h,e,"before");u&&(p=d.createElement("span"),p.className="ieFormatBreakerSpan",c.place(p,e,"after"),c.place(u,p,"after"),u=p);c.destroy(e);w=h.parentNode;for(q=
  116. [];w!==s;){var y=w.tagName;v={tagName:y};q.push(v);y=d.createElement(y);w.style&&(y.style&&w.style.cssText)&&(y.style.cssText=w.style.cssText,v.cssText=w.style.cssText);"FONT"===w.tagName&&(w.color&&(y.color=w.color,v.color=w.color),w.face&&(y.face=w.face,v.face=w.face),w.size&&(y.size=w.size,v.size=w.size));w.className&&(y.className=w.className,v.className=w.className);if(u)for(v=u;v;)x=v.nextSibling,y.appendChild(v),v=x;y.tagName==w.tagName?(p=d.createElement("span"),p.className="ieFormatBreakerSpan",
  117. c.place(p,w,"after"),c.place(y,p,"after")):c.place(y,w,"after");h=w;u=y;w=w.parentNode}if(u){v=u;if(1===v.nodeType||3===v.nodeType&&v.nodeValue)o.innerHTML="";for(;v;)x=v.nextSibling,o.appendChild(v),v=x}if(q.length){v=q.pop();s=d.createElement(v.tagName);v.cssText&&s.style&&(s.style.cssText=v.cssText);v.className&&(s.className=v.className);"FONT"===v.tagName&&(v.color&&(s.color=v.color),v.face&&(s.face=v.face),v.size&&(s.size=v.size));for(c.place(s,o,"before");q.length;)v=q.pop(),w=d.createElement(v.tagName),
  118. v.cssText&&w.style&&(w.style.cssText=v.cssText),v.className&&(w.className=v.className),"FONT"===v.tagName&&(v.color&&(w.color=v.color),v.face&&(w.face=v.face),v.size&&(w.size=v.size)),s.appendChild(w),s=w;n=d.createTextNode(".");p.appendChild(n);s.appendChild(n);r.withGlobal(this.window,j.hitch(this,function(){var a=t.create();a.setStart(n,0);a.setEnd(n,n.length);b.removeAllRanges();b.addRange(a);z.collapse(!1);n.parentNode.innerHTML=""}))}else p=d.createElement("span"),p.className="ieFormatBreakerSpan",
  119. n=d.createTextNode("."),p.appendChild(n),c.place(p,o,"before"),r.withGlobal(this.window,j.hitch(this,function(){var a=t.create();a.setStart(n,0);a.setEnd(n,n.length);b.removeAllRanges();b.addRange(a);z.collapse(!1);n.parentNode.innerHTML=""}));o.firstChild||c.destroy(o);return!0}return!1}f=b.getRangeAt(0);if((e=f.startContainer)&&3===e.nodeType)return r.withGlobal(this.window,j.hitch(this,function(){var j=f.startOffset;e.length<j&&(g=this._adjustNodeAndOffset(e,j),e=g.node,j=g.offset);i=e.nodeValue;
  120. h=d.createTextNode(i.substring(0,j));""!==i.substring(j)&&(u=d.createTextNode(i.substring(j)));p=d.createElement("span");n=d.createTextNode(".");p.appendChild(n);h.length?c.place(h,e,"after"):h=e;c.place(p,h,"after");u&&c.place(u,p,"after");c.destroy(e);j=t.create();j.setStart(n,0);j.setEnd(n,n.length);b.removeAllRanges();b.addRange(j);d.execCommand(a);c.place(p.firstChild,p,"before");c.destroy(p);j.setStart(n,0);j.setEnd(n,n.length);b.removeAllRanges();b.addRange(j);z.collapse(!1);n.parentNode.innerHTML=
  121. ""})),!0}else return!1},_adaptIEList:function(a){var b=t.getSelection(this.window);if(b.isCollapsed&&b.rangeCount&&!this.queryCommandValue(a)){var d=b.getRangeAt(0),e=d.startContainer;if(e&&3==e.nodeType&&!d.startOffset)return r.withGlobal(this.window,j.hitch(this,function(){var d="ul";"insertorderedlist"===a&&(d="ol");var d=c.create(d),g=c.create("li",null,d);c.place(d,e,"before");g.appendChild(e);c.create("br",null,d,"after");d=t.create();d.setStart(e,0);d.setEnd(e,e.length);b.removeAllRanges();
  122. b.addRange(d);z.collapse(!0)})),!0}return!1},_handleTextColorOrProperties:function(a,b){var d=t.getSelection(this.window),e=this.document,f,h,u,p,n,q,m,o,b=b||null;return a&&(d&&d.isCollapsed)&&d.rangeCount&&(u=d.getRangeAt(0),(f=u.startContainer)&&3===f.nodeType)?(r.withGlobal(this.window,j.hitch(this,function(){var j=u.startOffset;f.length<j&&(h=this._adjustNodeAndOffset(f,j),f=h.node,j=h.offset);p=f.nodeValue;n=e.createTextNode(p.substring(0,j));""!==p.substring(j)&&(q=e.createTextNode(p.substring(j)));
  123. m=c.create("span");o=e.createTextNode(".");m.appendChild(o);j=c.create("span");m.appendChild(j);n.length?c.place(n,f,"after"):n=f;c.place(m,n,"after");q&&c.place(q,m,"after");c.destroy(f);var s=t.create();s.setStart(o,0);s.setEnd(o,o.length);d.removeAllRanges();d.addRange(s);if(i("webkit")){s="color";if("hilitecolor"===a||"backcolor"===a)s="backgroundColor";g.set(m,s,b);z.remove();c.destroy(j);m.innerHTML="&#160;";z.selectElement(m);this.focus()}else this.execCommand(a,b),c.place(m.firstChild,m,"before"),
  124. c.destroy(m),s.setStart(o,0),s.setEnd(o,o.length),d.removeAllRanges(),d.addRange(s),z.collapse(!1),o.parentNode.removeChild(o)})),!0):!1},_adjustNodeAndOffset:function(a,b){for(;a.length<b&&a.nextSibling&&3===a.nextSibling.nodeType;)b-=a.length,a=a.nextSibling;return{node:a,offset:b}},_tagNamesForCommand:function(a){return"bold"===a?["b","strong"]:"italic"===a?["i","em"]:"strikethrough"===a?["s","strike"]:"superscript"===a?["sup"]:"subscript"===a?["sub"]:"underline"===a?["u"]:[]},_stripBreakerNodes:function(a){r.withGlobal(this.window,
  125. j.hitch(this,function(){var b=H(".ieFormatBreakerSpan",a),d;for(d=0;d<b.length;d++){for(var e=b[d];e.firstChild;)c.place(e.firstChild,e,"before");c.destroy(e)}}));return a}});return q})},"dijit/_editor/plugins/TextColor":function(){define("dijit/_editor/plugins/TextColor","require dojo/colors dojo/_base/declare dojo/_base/lang ../_Plugin ../../form/DropDownButton".split(" "),function(m,o,x,h,f,a){var b=x("dijit._editor.plugins.TextColor",f,{buttonClass:a,useDefaultCommand:!1,_initButton:function(){this.inherited(arguments);
  126. var a=this;this.button.loadDropDown=function(b){m(["../../ColorPalette"],h.hitch(this,function(g){this.dropDown=new g({value:a.value,onChange:function(b){a.editor.execCommand(a.command,b)}});b()}))}},updateState:function(){var a=this.editor,b=this.command;if(a&&a.isLoaded&&b.length){if(this.button){var g=this.get("disabled");this.button.set("disabled",g);if(g)return;var e;try{e=a.queryCommandValue(b)||""}catch(f){e=""}}""==e&&(e="#000000");"transparent"==e&&(e="#ffffff");"string"==typeof e?-1<e.indexOf("rgb")&&
  127. (e=o.fromRgb(e).toHex()):(e=((e&255)<<16|e&65280|(e&16711680)>>>16).toString(16),e="#000000".slice(0,7-e.length)+e);this.value=e;(a=this.button.dropDown)&&e!==a.get("value")&&a.set("value",e,!1)}}});f.registry.foreColor=function(){return new b({command:"foreColor"})};f.registry.hiliteColor=function(){return new b({command:"hiliteColor"})};return b})},"dijit/_editor/selection":function(){define("dijit/_editor/selection",["dojo/dom","dojo/_base/lang","dojo/_base/sniff","dojo/_base/window",".."],function(m,
  128. o,x,h,f){o.getObject("_editor.selection",!0,f);o.mixin(f._editor.selection,{getType:function(){if(h.doc.getSelection){var a="text",b;try{b=h.global.getSelection()}catch(c){}b&&1==b.rangeCount&&(b=b.getRangeAt(0),b.startContainer==b.endContainer&&(1==b.endOffset-b.startOffset&&3!=b.startContainer.nodeType)&&(a="control"));return a}return h.doc.selection.type.toLowerCase()},getSelectedText:function(){if(h.doc.getSelection){var a=h.global.getSelection();if(a)return a.toString()}else return"control"==
  129. f._editor.selection.getType()?null:h.doc.selection.createRange().text;return""},getSelectedHtml:function(){if(h.doc.getSelection){var a=h.global.getSelection();if(a&&a.rangeCount){var b,c="";for(b=0;b<a.rangeCount;b++){var d=a.getRangeAt(b).cloneContents(),g=h.doc.createElement("div");g.appendChild(d);c+=g.innerHTML}return c}return null}return"control"==f._editor.selection.getType()?null:h.doc.selection.createRange().htmlText},getSelectedElement:function(){if("control"==f._editor.selection.getType()){if(h.doc.getSelection){var a=
  130. h.global.getSelection();return a.anchorNode.childNodes[a.anchorOffset]}if((a=h.doc.selection.createRange())&&a.item)return h.doc.selection.createRange().item(0)}return null},getParentElement:function(){if("control"==f._editor.selection.getType()){var a=this.getSelectedElement();if(a)return a.parentNode}else if(h.doc.getSelection){if(a=h.global.getSelection()){for(a=a.anchorNode;a&&1!=a.nodeType;)a=a.parentNode;return a}}else return a=h.doc.selection.createRange(),a.collapse(!0),a.parentElement();
  131. return null},hasAncestorElement:function(a){return null!=this.getAncestorElement.apply(this,arguments)},getAncestorElement:function(a){var b=this.getSelectedElement()||this.getParentElement();return this.getParentOfType(b,arguments)},isTag:function(a,b){if(a&&a.tagName)for(var c=a.tagName.toLowerCase(),d=0;d<b.length;d++){var g=String(b[d]).toLowerCase();if(c==g)return g}return""},getParentOfType:function(a,b){for(;a;){if(this.isTag(a,b).length)return a;a=a.parentNode}return null},collapse:function(a){if(window.getSelection){var b=
  132. h.global.getSelection();b.removeAllRanges?a?b.collapseToStart():b.collapseToEnd():b.collapse(a)}else x("ie")&&(b=h.doc.selection.createRange(),b.collapse(a),b.select())},remove:function(){var a=h.doc.selection;h.doc.getSelection?(a=h.global.getSelection(),a.deleteFromDocument()):"none"!=a.type.toLowerCase()&&a.clear();return a},selectElementChildren:function(a,b){var c=h.global,d=h.doc,a=m.byId(a);if(d.selection&&!d.getSelection&&h.body().createTextRange){if(d=a.ownerDocument.body.createTextRange(),
  133. d.moveToElementText(a),!b)try{d.select()}catch(g){}}else c.getSelection&&(c=h.global.getSelection(),x("opera")?(d=c.rangeCount?c.getRangeAt(0):d.createRange(),d.setStart(a,0),d.setEnd(a,3==a.nodeType?a.length:a.childNodes.length),c.addRange(d)):c.selectAllChildren(a))},selectElement:function(a,b){var c,d=h.doc,g=h.global,a=m.byId(a);if(!d.getSelection&&h.body().createTextRange)try{var e=a.tagName?a.tagName.toLowerCase():"";c="img"===e||"table"===e?h.body().createControlRange():h.body().createRange();
  134. c.addElement(a);b||c.select()}catch(f){this.selectElementChildren(a,b)}else g.getSelection&&(g=g.getSelection(),c=d.createRange(),g.removeAllRanges&&(x("opera")&&g.getRangeAt(0)&&(c=g.getRangeAt(0)),c.selectNode(a),g.removeAllRanges(),g.addRange(c)))},inSelection:function(a){if(a){var b,c=h.doc,d;if(h.global.getSelection){var g=h.global.getSelection();g&&0<g.rangeCount&&(d=g.getRangeAt(0));if(d&&d.compareBoundaryPoints&&c.createRange)try{if(b=c.createRange(),b.setStart(a,0),1===d.compareBoundaryPoints(d.START_TO_END,
  135. b))return!0}catch(e){}}else if(c.selection){d=c.selection.createRange();try{(b=a.ownerDocument.body.createControlRange())&&b.addElement(a)}catch(f){try{b=a.ownerDocument.body.createTextRange(),b.moveToElementText(a)}catch(m){}}if(d&&b&&1===d.compareEndPoints("EndToStart",b))return!0}}return!1}});return f._editor.selection})},"dijit/_editor/range":function(){define("dijit/_editor/range",["dojo/_base/array","dojo/_base/declare","dojo/_base/lang","dojo/_base/window",".."],function(m,o,x,h,f){f.range=
  136. {};f.range.getIndex=function(a,b){for(var c=[],d=[],g=a,e,f;a!=b;){var h=0;for(e=a.parentNode;f=e.childNodes[h++];)if(f===a){--h;break}c.unshift(h);d.unshift(h-e.childNodes.length);a=e}if(0<c.length&&3==g.nodeType){for(f=g.previousSibling;f&&3==f.nodeType;)c[c.length-1]--,f=f.previousSibling;for(f=g.nextSibling;f&&3==f.nodeType;)d[d.length-1]++,f=f.nextSibling}return{o:c,r:d}};f.range.getNode=function(a,b){if(!x.isArray(a)||0==a.length)return b;var c=b;m.every(a,function(a){if(0<=a&&a<c.childNodes.length)c=
  137. c.childNodes[a];else return c=null,!1;return!0});return c};f.range.getCommonAncestor=function(a,b,c){for(var c=c||a.ownerDocument.body,d=function(a){for(var b=[];a;)if(b.unshift(a),a!==c)a=a.parentNode;else break;return b},a=d(a),b=d(b),d=Math.min(a.length,b.length),f=a[0],e=1;e<d;e++)if(a[e]===b[e])f=a[e];else break;return f};f.range.getAncestor=function(a,b,c){for(c=c||a.ownerDocument.body;a&&a!==c;){var d=a.nodeName.toUpperCase();if(b.test(d))return a;a=a.parentNode}return null};f.range.BlockTagNames=
  138. /^(?:P|DIV|H1|H2|H3|H4|H5|H6|ADDRESS|PRE|OL|UL|LI|DT|DE)$/;f.range.getBlockAncestor=function(a,b,c){for(var c=c||a.ownerDocument.body,b=b||f.range.BlockTagNames,d=null,g;a&&a!==c;){var e=a.nodeName.toUpperCase();!d&&b.test(e)&&(d=a);!g&&/^(?:BODY|TD|TH|CAPTION)$/.test(e)&&(g=a);a=a.parentNode}return{blockNode:d,blockContainer:g||a.ownerDocument.body}};f.range.atBeginningOfContainer=function(a,b,c){var d=!1,f=0==c;!f&&3==b.nodeType&&/^[\s\xA0]+$/.test(b.nodeValue.substr(0,c))&&(f=!0);if(f)for(d=!0;b&&
  139. b!==a;){if(b.previousSibling){d=!1;break}b=b.parentNode}return d};f.range.atEndOfContainer=function(a,b,c){var d=!1,f=c==(b.length||b.childNodes.length);!f&&3==b.nodeType&&/^[\s\xA0]+$/.test(b.nodeValue.substr(c))&&(f=!0);if(f)for(d=!0;b&&b!==a;){if(b.nextSibling){d=!1;break}b=b.parentNode}return d};f.range.adjacentNoneTextNode=function(a,b){for(var c=a,d=0-a.length||0,f=b?"nextSibling":"previousSibling";c&&3==c.nodeType;)d+=c.length,c=c[f];return[c,d]};f.range._w3c=Boolean(window.getSelection);f.range.create=
  140. function(a){return f.range._w3c?(a||h.global).document.createRange():new f.range.W3CRange};f.range.getSelection=function(a,b){if(f.range._w3c)return a.getSelection();var c=new f.range.ie.selection(a);b||c._getCurrentSelection();return c};f.range._w3c||(f.range.ie={cachedSelection:{},selection:function(a){this._ranges=[];this.addRange=function(a,c){this._ranges.push(a);c||a._select();this.rangeCount=this._ranges.length};this.removeAllRanges=function(){this._ranges=[];this.rangeCount=0};this.getRangeAt=
  141. function(a){return this._ranges[a]};this._getCurrentSelection=function(){this.removeAllRanges();var b;b=a.document.selection.createRange();b="CONTROL"==a.document.selection.type.toUpperCase()?new f.range.W3CRange(f.range.ie.decomposeControlRange(b)):new f.range.W3CRange(f.range.ie.decomposeTextRange(b));b?(this.addRange(b,!0),this.isCollapsed=b.collapsed):this.isCollapsed=!0}},decomposeControlRange:function(a){var b=a.item(0),c=a.item(a.length-1),a=b.parentNode,d=c.parentNode,b=f.range.getIndex(b,
  142. a).o[0],c=f.range.getIndex(c,d).o[0]+1;return[a,b,d,c]},getEndPoint:function(a,b){var c=a.duplicate();c.collapse(!b);var d="EndTo"+(b?"End":"Start"),g=c.parentElement(),e,h,o;0<g.childNodes.length?m.every(g.childNodes,function(b,j){var m;if(3!=b.nodeType)if(c.moveToElementText(b),0<c.compareEndPoints(d,a))if(o&&3==o.nodeType)e=o,m=!0;else return e=g,h=j,!1;else{if(j==g.childNodes.length-1)return e=g,h=g.childNodes.length,!1}else j==g.childNodes.length-1&&(e=b,m=!0);if(m&&e){e=(m=f.range.adjacentNoneTextNode(e)[0])?
  143. m.nextSibling:g.firstChild;var i=f.range.adjacentNoneTextNode(e);m=i[0];i=i[1];m?(c.moveToElementText(m),c.collapse(!1)):c.moveToElementText(g);c.setEndPoint(d,a);h=c.text.length-i;return!1}o=b;return!0}):(e=g,h=0);if(!b&&1==e.nodeType&&h==e.childNodes.length){var j=e.nextSibling;j&&3==j.nodeType&&(e=j,h=0)}return[e,h]},setEndPoint:function(a,b,c){var a=a.duplicate(),d;if(3!=b.nodeType)if(0<c){if(d=b.childNodes[c-1])if(3==d.nodeType)b=d,c=d.length;else if(d.nextSibling&&3==d.nextSibling.nodeType)b=
  144. d.nextSibling,c=0;else{a.moveToElementText(d.nextSibling?d:b);var g=d.parentNode;d=g.insertBefore(d.ownerDocument.createTextNode(" "),d.nextSibling);a.collapse(!1);g.removeChild(d)}}else a.moveToElementText(b),a.collapse(!0);3==b.nodeType&&(d=f.range.adjacentNoneTextNode(b),g=d[0],d=d[1],g?(a.moveToElementText(g),a.collapse(!1),"inherit"!=g.contentEditable&&d++):(a.moveToElementText(b.parentNode),a.collapse(!0)),c+=d,0<c&&a.move("character",c)!=c&&console.error("Error when moving!"));return a},decomposeTextRange:function(a){var b=
  145. f.range.ie.getEndPoint(a),c=b[0],d=b[1],g=b[0],b=b[1];a.htmlText.length&&(a.htmlText==a.text?b=d+a.text.length:(b=f.range.ie.getEndPoint(a,!0),g=b[0],b=b[1]));return[c,d,g,b]},setRange:function(a,b,c,d,g,e){b=f.range.ie.setEndPoint(a,b,c);a.setEndPoint("StartToStart",b);if(!e)var h=f.range.ie.setEndPoint(a,d,g);a.setEndPoint("EndToEnd",h||b);return a}},o("dijit.range.W3CRange",null,{constructor:function(){0<arguments.length?(this.setStart(arguments[0][0],arguments[0][1]),this.setEnd(arguments[0][2],
  146. arguments[0][3])):(this.startContainer=this.commonAncestorContainer=null,this.startOffset=0,this.endContainer=null,this.endOffset=0,this.collapsed=!0)},_updateInternal:function(){this.commonAncestorContainer=this.startContainer!==this.endContainer?f.range.getCommonAncestor(this.startContainer,this.endContainer):this.startContainer;this.collapsed=this.startContainer===this.endContainer&&this.startOffset==this.endOffset},setStart:function(a,b){b=parseInt(b);this.startContainer===a&&this.startOffset==
  147. b||(delete this._cachedBookmark,this.startContainer=a,this.startOffset=b,this.endContainer?this._updateInternal():this.setEnd(a,b))},setEnd:function(a,b){b=parseInt(b);this.endContainer===a&&this.endOffset==b||(delete this._cachedBookmark,this.endContainer=a,this.endOffset=b,this.startContainer?this._updateInternal():this.setStart(a,b))},setStartAfter:function(a,b){this._setPoint("setStart",a,b,1)},setStartBefore:function(a,b){this._setPoint("setStart",a,b,0)},setEndAfter:function(a,b){this._setPoint("setEnd",
  148. a,b,1)},setEndBefore:function(a,b){this._setPoint("setEnd",a,b,0)},_setPoint:function(a,b,c,d){c=f.range.getIndex(b,b.parentNode).o;this[a](b.parentNode,c.pop()+d)},_getIERange:function(){var a=(this._body||this.endContainer.ownerDocument.body).createTextRange();f.range.ie.setRange(a,this.startContainer,this.startOffset,this.endContainer,this.endOffset,this.collapsed);return a},getBookmark:function(){this._getIERange();return this._cachedBookmark},_select:function(){this._getIERange().select()},deleteContents:function(){var a=
  149. this.startContainer,b=this._getIERange();3===a.nodeType&&!this.startOffset&&this.setStartBefore(a);b.pasteHTML("");this.endContainer=this.startContainer;this.endOffset=this.startOffset;this.collapsed=!0},cloneRange:function(){var a=new f.range.W3CRange([this.startContainer,this.startOffset,this.endContainer,this.endOffset]);a._body=this._body;return a},detach:function(){this.startContainer=this.commonAncestorContainer=this._body=null;this.startOffset=0;this.endContainer=null;this.endOffset=0;this.collapsed=
  150. !0}}));return f.range})},"*now":function(m){m(['dojo/i18n!*preload*dojo/nls/buxTextEditor*["ar","az","bg","ca","cs","da","de","de-de","el","en","en-ca","en-gb","en-us","es","es-es","fi","fi-fi","fr","fr-ca","fr-fr","he","he-il","hr","hu","it","it-it","ja","ja-jp","kk","ko","ko-kr","nl","nl-nl","nb","no","pl","pt","pt-br","pt-pt","ro","ru","sk","sl","sv","th","tr","zh","zh-tw","zh-cn","ROOT"]'])}}});define("dojo/buxTextEditor",[],1);