/* htmleditorimage $Id: $ */
Ext.ux.HTMLEditorToolbar=Ext.extend(Ext.Toolbar,{initComponent:function(){Ext.ux.HTMLEditorToolbar.superclass.initComponent.call(this);this.tools=new Ext.util.MixedCollection(false,function(A){return A.itemId||A.id||Ext.id()})},addTools:function(C){C=(C instanceof Array)?C:[C];for(var B=0,A=C.length;B<A;B++){this.tools.add(C[B])}},insertTools:function(B,D){D=(D instanceof Array)?D:[D];for(var C=0,A=D.length;C<A;C++){this.tools.insert(B+C,D[C])}},insertToolsBefore:function(C,B){var A=this.tools.indexOfKey(C);this.insertTools(A,B)},insertToolsAfter:function(C,B){var A=this.tools.indexOfKey(C)+1;this.insertTools(A,B)},renderTool:function(A){if(typeof A=="object"&&A.xtype&&A.xtype=="tbcombo"){this.addItem(Ext.ComponentMgr.create(A))}else{this.add(A)}},onRender:function(B,A){Ext.ux.HTMLEditorToolbar.superclass.onRender.call(this,B,A);this.tools.each(this.renderTool,this)}});Ext.ux.HTMLEditorToolbar.ComboBox=function(B){Ext.apply(this,B);var F=document.createElement("select");F.className=this.cls;for(var D=0,A=this.opts.length;D<A;D++){var C=this.opts[D];var E=document.createElement("option");E.text=C.text;E.value=C.value;if(C.selected){E.selected=true;this.defaultValue=C.value}F.options.add(E)}if(!this.defaultValue){this.defaultValue=this.opts[0].value}Ext.ux.HTMLEditorToolbar.ComboBox.superclass.constructor.call(this,F)};Ext.extend(Ext.ux.HTMLEditorToolbar.ComboBox,Ext.Toolbar.Item,{render:function(A){Ext.ux.HTMLEditorToolbar.ComboBox.superclass.render.call(this,A);Ext.EventManager.on(this.el,"change",this.handler,this.scope)}});Ext.ComponentMgr.registerType("tbcombo",Ext.ux.HTMLEditorToolbar.ComboBox);Ext.ux.HTMLEditor=Ext.extend(Ext.form.HtmlEditor,{toolbarItems:["fonts","allformats","allfontsizes","allcolors","allalignments","alllinks","alllists","sourceedit"],toolbarItemExcludes:[],initComponent:function(){Ext.ux.HTMLEditor.superclass.initComponent.call(this);this.addEvents({editorevent:true});for(var C=0,A=this.toolbarItemExcludes.length;C<A;C++){var D=this.toolbarItemExcludes[C].toLowerCase();for(var B=0,E=this.toolbarItems.length;B<E;B++){if(this.toolbarItems[B]==D){this.toolbarItems.splice(B,1);break}}}this.tb=new Ext.ux.HTMLEditorToolbar();this.createTools(this.toolbarItems)},createFontOptions:function(){var E=[],F=this.fontFamilies,B;for(var D=0,A=F.length;D<A;D++){B=F[D];fflc=B.toLowerCase();var C={text:B,value:fflc};if(fflc==this.defaultFont){C.selected=true}E.push(C)}return E},btn:function(D,A,B,C){return{itemId:D,cls:"x-btn-icon x-edit-"+D,enableToggle:A!==false,queryState:B!==false,handler:C||this.relayBtnCmd,scope:this,clickEvent:"mousedown",tooltip:this.buttonTips[D]||undefined,tabIndex:-1}},createTools:function(D){D=(D instanceof Array)?D:[D];for(var B=0,A=D.length;B<A;B++){var C=D[B];switch(C){case"fonts":if(!Ext.isSafari){this.tb.addTools({itemId:"fontname",xtype:"tbcombo",cls:"x-font-select",opts:this.createFontOptions(),queryValue:true,handler:function(F,E){this.relayCmd("fontname",E.value);this.deferFocus()},scope:this})}break;case"bold":this.tb.addTools(this.btn("bold"));break;case"italic":this.tb.addTools(this.btn("italic"));break;case"underline":this.tb.addTools(this.btn("underline"));break;case"allformats":this.createTools(["bold","italic","underline"]);break;case"increasefontsize":this.tb.addTools(this.btn("increasefontsize",false,false,this.adjustFont));break;case"decreasefontsize":this.tb.addTools(this.btn("decreasefontsize",false,false,this.adjustFont));break;case"allfontsizes":this.createTools(["-","increasefontsize","decreasefontsize"]);break;case"forecolor":this.tb.addTools({itemId:"forecolor",cls:"x-btn-icon x-edit-forecolor",clickEvent:"mousedown",tooltip:this.buttonTips.forecolor,tabIndex:-1,menu:new Ext.menu.ColorMenu({allowReselect:true,focus:Ext.emptyFn,value:"000000",plain:true,selectHandler:function(F,E){this.execCmd("forecolor",Ext.isSafari||Ext.isIE?"#"+E:E);this.deferFocus()},scope:this,clickEvent:"mousedown"})});break;case"backcolor":this.tb.addTools({itemId:"backcolor",cls:"x-btn-icon x-edit-backcolor",clickEvent:"mousedown",tooltip:this.buttonTips.backcolor,tabIndex:-1,menu:new Ext.menu.ColorMenu({focus:Ext.emptyFn,value:"FFFFFF",plain:true,allowReselect:true,selectHandler:function(F,E){if(Ext.isGecko){this.execCmd("useCSS",false);this.execCmd("hilitecolor",E);this.execCmd("useCSS",true);this.deferFocus()}else{this.execCmd(Ext.isOpera?"hilitecolor":"backcolor",Ext.isSafari||Ext.isIE?"#"+E:E);this.deferFocus()}},scope:this,clickEvent:"mousedown"})});break;case"allcolors":this.createTools(["-","forecolor","backcolor"]);break;case"justifyleft":this.tb.addTools(this.btn("justifyleft"));break;case"justifycenter":this.tb.addTools(this.btn("justifycenter"));break;case"justifyright":this.tb.addTools(this.btn("justifyright"));break;case"allalignments":this.createTools(["-","justifyleft","justifycenter","justifyright"]);break;case"link":if(!Ext.isSafari){this.tb.addTools(this.btn("createlink",false,false,this.createLink))}break;case"alllinks":if(!Ext.isSafari){this.createTools(["-","link"])}break;case"orderedlist":if(!Ext.isSafari){this.tb.addTools(this.btn("insertorderedlist"))}break;case"unorderedlist":if(!Ext.isSafari){this.tb.addTools(this.btn("insertunorderedlist"))}break;case"alllists":if(!Ext.isSafari){this.createTools(["-","orderedlist","unorderedlist"])}break;case"sourceedit":if(!Ext.isSafari){this.tb.addTools(this.btn("sourceedit",true,false,function(E){this.toggleSourceEdit(E.pressed)}))}break;default:this.tb.addTools(C)}}},createToolbar:function(){this.tb.render(this.wrap.dom.firstChild);this.tb.el.on("click",function(A){A.preventDefault()})},getDocMarkup:function(){var A='<html><head><style type="text/css">body{border:0;margin:0;padding:3px;height:98%;cursor:text;}</style>';if(this.styles){for(var B=0;B<this.styles.length;B++){A=A+'<link rel="stylesheet" type="text/css" href="'+this.styles[B]+'" />'}}A=A+"</head><body></body></html>";return A},onEditorEvent:function(A){Ext.ux.HTMLEditor.superclass.onEditorEvent.call(this,A);this.fireEvent("editorevent",this,A)},updateToolbar:function(){if(!this.activated){this.onFirstFocus();return }this.tb.items.each(function(A){if(A.queryState){A.toggle(this.doc.queryCommandState(A.itemId))}else{if(A.queryEnabled){A.setDisabled(!this.doc.queryCommandEnabled(A.itemId))}else{if(A.xtype="tbcombo"&&A.queryValue){var B=(this.doc.queryCommandValue(A.itemId)||A.defaultValue).toLowerCase();if(B!=A.el.value){A.el.value=B}}}}},this);Ext.menu.MenuMgr.hideAll();this.syncValue()}});Ext.ux.FileUploadButton=Ext.extend(Ext.Button,{text:"Browse",onRender:function(C,A){Ext.ux.FileUploadButton.superclass.onRender.call(this,C,A);var B=this.el.wrap({tag:"div",style:"position:absolute; right:0;"});var E=B.child("td.x-btn-left").getWidth()+B.child("button.x-btn-text").getWidth()+B.child("td.x-btn-center").getPadding("lr")+B.child("td.x-btn-right").getWidth();var D=B.wrap({tag:"div",style:"position:relative; height:21px; overflow:hidden; width:"+E+"px;"});this.fileCt=Ext.DomHelper.append(D,{tag:"div",style:"position:absolute; opacity:0.0; -moz-opacity:0.0; filter:alpha(opacity=0); right:0; height:21px;"},true);this.createFileUpload()},createFileUpload:function(){this.fileUpload=Ext.DomHelper.append(this.fileCt,{tag:"input",name:"image",type:"file",size:1,style:"top:0; height:21px; font-size:14px; cursor:pointer; -moz-user-focus:ignore; border:0px none transparent; overflow:hidden;"},true);if(this.tooltip){Ext.QuickTips.register({target:this.fileUpload,text:this.tooltip})}this.fileUpload.on("mouseover",function(){if(!this.disabled){this.el.addClass("x-btn-over")}},this);this.fileUpload.on("mouseout",function(){this.el.removeClass("x-btn-over")},this);this.fileUpload.on("mousedown",this.onMouseDown,this);this.fileUpload.on("click",function(A){A.stopPropagation()});this.fileUpload.on("change",function(){this.handler(this.fileUpload);this.fileUpload.remove();this.createFileUpload()},this)}});Ext.reg("fileuploadbutton",Ext.ux.FileUploadButton);Ext.namespace("Ext.ux.Toolbar");Ext.ux.Toolbar.LoadingIndicator=function(){Ext.ux.Toolbar.LoadingIndicator.superclass.constructor.call(this);this.el.id="indicator";this.id=this.el.id;this.el.className="x-tbar-loading"};Ext.extend(Ext.ux.Toolbar.LoadingIndicator,Ext.Toolbar.Spacer,{});Ext.ComponentMgr.registerType("tbindicator",Ext.ux.Toolbar.LoadingIndicator);Ext.ux.ImageBrowser=function(R){var P={};var S;var Q=function(){if(Ext.getCmp("img-browser-view")){Ext.getCmp("img-browser-view").getTopToolbar().items.map.indicator.disable()}};var M=function(){if(Ext.getCmp("img-browser-view")){Ext.getCmp("img-browser-view").getTopToolbar().items.map.indicator.enable()}};var K=function(T){T.label=(T.name.length>15)?T.name.substr(0,12)+"...":T.name;T.title="Name: "+T.name+"<br>Dimensions: "+T.width+" x "+T.height+"<br>Size: "+((T.size<1024)?T.size+" bytes":(Math.round(((T.size*10)/1024))/10)+" KB");if(T.width>T.height){if(T.width<80){T.thumbwidth=T.width;T.thumbheight=T.height}else{T.thumbwidth=80;T.thumbheight=80/T.width*T.height}}else{if(T.height<80){T.thumbwidth=T.width;T.thumbheight=T.height}else{T.thumbwidth=80/T.height*T.width;T.thumbheight=80}}T.thumbleft=(Math.round((80-T.thumbwidth)/2))+"px";T.thumbtop=(Math.round((80-T.thumbheight)/2))+"px";T.thumbwidth=Math.round(T.thumbwidth)+"px";T.thumbheight=Math.round(T.thumbheight)+"px";P[T.name]=T;return T};var B=Ext.getBody().createChild({tag:"form",cls:"x-hidden"});var D=function(T,U){M();T=Ext.util.JSON.decode(T.responseText);if(T.success=="true"){this.reset()}else{Ext.MessageBox.alert("Upload Error",T.message)}};var N=function(T,U){M();Ext.MessageBox.alert("Upload Failed",T.responseText)};var E=function(T){Q();T.appendTo(B);Ext.Ajax.request({method:"post",url:this.uploadURL,isUpload:true,form:B,success:D,failure:N,scope:this})};var F=function(T){Q();if(T==="yes"){Ext.Ajax.request({method:"post",url:this.deleteURL,params:"image="+S.name,success:function(U){M();U=Ext.util.JSON.decode(U.responseText);if(U.success=="true"){this.reset()}else{Ext.MessageBox.alert("Delete Error",U.message)}},scope:this})}};var L=function(){Ext.MessageBox.confirm("Delete Image","Are you sure that you wish to delete "+S.name+"?",F,this)};var I=new Ext.XTemplate('<tpl for=".">','<div class="thumb-wrap" id="{name}">','<div class="thumb"><img src="<tpl if="thumb">{thumb}</tpl><tpl if="thumb==null">{url}</tpl>" ext:qtip="{title}" style="top:{thumbtop}; left:{thumbleft}; width:{thumbwidth}; height:{thumbheight};" /></div>',"<span>{label}</span>","</div>","</tpl>");I.compile();var G=new Ext.data.JsonStore({url:R.listURL,root:"images",fields:["name",{name:"width",type:"float"},{name:"height",type:"float"},{name:"size",type:"float"},"url","thumb"],listeners:{beforeload:{fn:Q,scope:this},load:{fn:M,scope:this},loadexception:{fn:M,scope:this}}});G.load();var C=function(){var T=H.getSelectedNodes();if(T&&T.length>0){T=T[0];Ext.getCmp("select-btn").enable();Ext.getCmp("delete-btn").enable();S=P[T.id]}else{Ext.getCmp("select-btn").disable();Ext.getCmp("delete-btn").disable()}};var A=function(){this.hide(this.animateTarget,function(){if(this.callback){this.callback(S)}})};var O=function(T,U){H.getEl().update('<div style="padding:10px;">Error loading images.</div>')};var H=new Ext.DataView({tpl:I,singleSelect:true,overClass:"x-view-over",itemSelector:"div.thumb-wrap",emptyText:'<div style="padding:10px;">No images match the specified filter</div>',store:G,listeners:{selectionchange:{fn:C,scope:this,buffer:100},dblclick:{fn:A,scope:this},loadexception:{fn:O,scope:this},beforeselect:{fn:function(T){return T.store.getRange().length>0}}},prepareData:K.createDelegate(this)});var J=function(){var T=Ext.getCmp("filter");H.store.filter("name",T.getValue())};Ext.applyIf(R,{title:"Browse Images",layout:"fit",minWidth:514,minHeight:323,modal:true,closeAction:"hide",border:false,items:[{id:"img-browser-view",autoScroll:true,items:H,tbar:["Filter:"," ",{xtype:"textfield",id:"filter",selectOnFocus:true,width:100,listeners:{render:{fn:function(){Ext.getCmp("filter").getEl().on("keyup",function(){J()},this,{buffer:500})},scope:this}}}," ","-",{xtype:"fileuploadbutton",id:"add",iconCls:"add-image",text:"Upload",handler:E.createDelegate(this),scope:this},{id:"delete-btn",iconCls:"delete-image",text:"Delete",handler:L,scope:this},"->",{xtype:"tbindicator",id:"indicator"}," "]}],buttons:[{id:"select-btn",text:"Select",handler:A,scope:this},{text:"Cancel",handler:function(){this.hide()},scope:this}],keys:{key:27,handler:function(){this.hide()},scope:this}});Ext.ux.ImageBrowser.superclass.constructor.call(this,R);this.reset=function(){H.getEl().dom.parentNode.scrollTop=0;G.reload();Ext.getCmp("filter").reset()}};Ext.extend(Ext.ux.ImageBrowser,Ext.Window,{show:function(C,A,B){if(this.rendered){this.reset()}Ext.ux.ImageBrowser.superclass.show.call(this,C,A,B)}});Ext.namespace("Ext.ux.form");Ext.ux.form.StaticTextField=function(A){this.name=A.name||A.id;Ext.ux.form.StaticTextField.superclass.constructor.call(this,A)};Ext.extend(Ext.ux.form.StaticTextField,Ext.BoxComponent,{defaultAutoCreate:{tag:"div"},fieldClass:"x-form-text",isFormField:true,submitValue:false,value:undefined,disableReset:false,field:null,getName:function(){return this.name},onRender:function(C,A){Ext.ux.form.StaticTextField.superclass.onRender.call(this,C,A);if(!this.el){var B=this.getAutoCreate();this.el=C.createChild(B,A);if(this.submitValue){this.field=C.createChild({tag:"input",type:"hidden",name:this.getName(),id:""},A)}}this.el.addClass([this.fieldClass,this.cls,"ux-form-statictextfield"]);this.initValue()},afterRender:function(B,A){Ext.ux.form.StaticTextField.superclass.afterRender.call(this);this.initEvents()},initValue:function(){if(this.value!==undefined){this.setValue(this.value)}else{if(this.el.dom.innerHTML.length>0){this.setValue(this.el.dom.innerHTML)}}},isDirty:function(){return false},reset:function(A){if(!this.disableReset||A===true){this.setValue(this.originalValue)}},initEvents:function(){this.originalValue=this.getRawValue()},isValid:function(){return true},validate:function(){return true},processValue:function(A){return A},validateValue:function(A){return true},markInvalid:function(){return },clearInvalid:function(){return },getRawValue:function(){return(this.rendered)?this.value:null},getValue:function(){return this.getRawValue()},setRawValue:function(A){this.value=A;if(this.rendered){this.el.dom.innerHTML=A;if(this.field){this.field.dom.value=A}}},setValue:function(A){this.value=A;if(this.rendered){this.el.dom.innerHTML=Ext.util.Format.htmlEncode(A);if(this.field){this.field.dom.value=A}}}});Ext.reg("statictextfield",Ext.ux.form.StaticTextField);Ext.ux.HTMLEditorStyles=function(D){var C;if(D&&!D instanceof Array){D=[D]}var E=[{text:"No Style",value:"none"}];if(D){E=E.concat(D)}var B=function(){var H=Ext.isIE?C.doc.selection.createRange().parentElement():C.win.getSelection().anchorNode;var J=G(H);var I=J?J.className:"none";if(C.tb.items.map.style.el.value!=I){C.tb.items.map.style.el.value=I}};var G=function(H){if(H){if(H.nodeType==1&&H.tagName.toLowerCase()=="span"&&H.className!=""){return H}else{return G(H.parentNode)}}};var F=function(H,J){var N=function(Q){Q.removeAttribute("className");var R=Q.cloneNode(false);if(R.outerHTML.toLowerCase()=="<span></span>"){Q.insertAdjacentHTML("beforeBegin",Q.innerHTML);Q.parentNode.removeChild(Q)}};var M=function(R){for(var Q=0;Q<R.children.length;Q++){var S=R.children[Q];if(S.nodeType==1){M(S);if(S.tagName.toLowerCase()=="span"){N(S)}}}};var P=C.doc.selection;var L=P.createRange();var I=J.value;if(I=="none"){var K=L.parentElement();var O=G(K);N(O)}else{if(P.type=="Text"){var K=document.createElement("span");K.innerHTML=L.htmlText;K.className=I;M(K);L.pasteHTML(K.outerHTML)}}C.updateToolbar();C.deferFocus()};var A=function(H,J){var N=function(S){S.removeAttribute("class");var T=document.createElement("span");T.appendChild(S.cloneNode(false));if(T.innerHTML.toLowerCase()=="<span></span>"){var Q=document.createDocumentFragment();for(var R=0;R<S.childNodes.length;R++){Q.appendChild(S.childNodes[R].cloneNode(true))}S.parentNode.replaceChild(Q,S)}};var M=function(R){for(var Q=0;Q<R.childNodes.length;Q++){var S=R.childNodes[Q];if(S.nodeType==1){M(S);if(S.tagName.toLowerCase()=="span"){N(S)}}}};var O=C.win.getSelection();var I=J.value;if(I=="none"){var L=O.anchorNode;var P=G(L);N(P)}else{if(!O.isCollapsed){var L=document.createElement("span");for(var K=0;K<O.rangeCount;K++){L.appendChild(O.getRangeAt(K).extractContents())}L.className=I;M(L);O.getRangeAt(0).insertNode(L)}}C.updateToolbar();C.deferFocus()};return{init:function(H){C=H;if(!Ext.isSafari&&E.length>1){C.tb.insertToolsBefore("bold",[{itemId:"style",xtype:"tbcombo",cls:"x-font-select",opts:E,handler:Ext.isIE?F:A,scope:this}," "]);C.on("render",function(){C.on("editorevent",B,this)},this)}}}};Ext.ux.HTMLEditorImage=function(){var B;var C;var M;var H;var P=false;var O=0;var J=0;var E=function(){if(Ext.isIE){return function(){var T=B.doc.selection;if(T.type=="Control"){var S=T.createRange()(0);if(S.nodeName.toLowerCase()=="img"){return S}}return null}}else{return function(){var T=B.win.getSelection();if(T.focusOffset==T.anchorOffset+1){var S=T.focusNode.childNodes[T.focusOffset-1];if(S.nodeName.toLowerCase()=="img"){return S}}return null}}}();var I=function(S){M.form.findField("src").setValue(S.url);M.form.findField("alt").setValue(S.name);M.form.findField("title").setValue(S.name);M.form.findField("width").setValue(S.width);M.form.findField("height").setValue(S.height);M.form.findField("constrain").setValue(true);M.form.findField("align").setValue(S.align);N()};var R=function(){var S=document.createElement("img");S.src=M.form.findField("src").getValue();S.alt=M.form.findField("alt").getValue();S.title=M.form.findField("title").getValue();S.style.width=M.form.findField("width").getValue()+"px";S.style.height=M.form.findField("height").getValue()+"px";if(align=M.form.findField("align").getValue()){S.align=align}if(S.align=="right"){S.style.paddingLeft="12px"}if(S.align=="left"){S.style.paddingRight="12px"}S.style.paddingTop="8px";S.style.paddingBottom="8px";return S};var Q=function(){if(Ext.isIE){return function(){var T=B.doc.selection;var S=T.createRange();S.pasteHTML(R().outerHTML)}}else{return function(){var S=B.win.getSelection();if(!S.isCollapsed){S.deleteFromDocument()}S.getRangeAt(0).insertNode(R())}}}();var A=function(){B.win.focus();Q();B.updateToolbar();B.deferFocus()};var N=function(){var S=(M.form.findField("src").getValue()=="");Ext.getCmp("insert-btn").setDisabled(S)};var G=function(){if(P){M.form.findField("height").setValue(Math.round(M.form.findField("width").getValue()/O*J))}Ext.getCmp("insert-btn").setDisabled(false)};var F=function(){if(P){M.form.findField("width").setValue(Math.round(M.form.findField("height").getValue()/J*O))}Ext.getCmp("insert-btn").setDisabled(false)};var K=function(T,S){P=S;if(P){O=M.form.findField("width").getValue();J=M.form.findField("height").getValue();if(!O||!J){T.setValue(false)}}};var L=function(){Ext.getCmp("insert-btn").setDisabled(false)};var D=function(){if(!C){M=new Ext.FormPanel({labelWidth:70,width:350,items:{xtype:"tabpanel",border:false,activeTab:0,bodyStyle:"padding:5px",defaults:{autoHeight:true},items:[{xtype:"fieldset",border:true,title:"General",autoHeight:true,defaults:{width:270},items:[{xtype:"trigger",fieldLabel:"Source",triggerClass:"x-form-search-trigger",name:"src",allowBlank:false,listeners:{change:{fn:N,scope:this}},onTriggerClick:function(){if(!H){H=new Ext.ux.ImageBrowser({width:514,height:321,listURL:"bonboa/meta/list_images",uploadURL:"bonboa/meta/upload_image",deleteURL:"bonboa/meta/delete_image",callback:I})}H.show()}},{xtype:"textfield",fieldLabel:"Description",name:"alt"},{xtype:"textfield",fieldLabel:"Title",name:"title"},{layout:"column",autoWidth:true,border:false,defaults:{layout:"form",border:false},hideLabel:true,items:[{items:[{xtype:"numberfield",fieldLabel:"Dimensions",name:"width",width:50,allowDecimals:false,allowNegative:false,listeners:{change:{fn:G,scope:this}}}]},{items:[{xtype:"statictextfield",submitValue:false,hideLabel:true,value:"x"}]},{items:[{xtype:"numberfield",hideLabel:true,name:"height",width:50,allowDecimals:false,allowNegative:false,listeners:{change:{fn:F,scope:this}}}]},{items:[{xtype:"statictextfield",hideLabel:true,value:"",width:15}]},{items:[{xtype:"checkbox",fieldLabel:"Constrain",name:"constrain",checked:false,listeners:{check:{fn:K,scope:this}}}]}]},{xtype:"bonboa_combo",fieldLabel:"Align",name:"align",listeners:{change:{fn:L,scope:this}},store:new Ext.data.SimpleStore({id:0,fields:["industry"],data:[["none"],["left"],["right"],["middle"]]}),displayField:"industry",valueField:"industry",triggerAction:"all",mode:"local",editable:false,lazyRender:true,forceSelection:true}]}]}});C=new Ext.Window({title:"Insert/Edit Image",closable:true,modal:true,closeAction:"hide",width:420,height:350,plain:true,layout:"fit",border:false,items:M,buttons:[{text:"Apply",id:"insert-btn",disabled:false,handler:function(){C.hide();A()}},{text:"Cancel",handler:function(){C.hide()}}],listeners:{show:function(){M.form.reset();var S=E();if(S){M.form.findField("src").setValue(S.src);M.form.findField("alt").setValue(S.alt);M.form.findField("width").setValue(S.style.width);M.form.findField("height").setValue(S.style.height);M.form.findField("constrain").setValue(true);M.form.findField("align").setValue(S.align)}}}})}C.show.defer(200,C)};return{init:function(S){B=S;if(!Ext.isSafari){B.tb.insertToolsAfter("justifyright",{itemId:"image",cls:"x-btn-icon x-edit-image",handler:D,scope:this,clickEvent:"mousedown",tooltip:{title:"Image",text:"Insert/edit an image.",cls:"x-html-editor-tip"}})}}}};Ext.reg("htmleditorimage",Ext.ux.HTMLEditorImage);