HTMLArea.TYPO3Image=HTMLArea.Plugin.extend({constructor:function(editor,pluginName){this.base(editor,pluginName);},configurePlugin:function(editor){this.pageTSConfiguration=this.editorConfiguration.buttons.image;this.imageModulePath=this.pageTSConfiguration.pathImageModule;var pluginInformation={version:'2.1',developer:'Stanislas Rolland',developerUrl:'http://www.sjbr.ca/',copyrightOwner:'Stanislas Rolland',sponsor:'SJBR',sponsorUrl:'http://www.sjbr.ca/',license:'GPL'};this.registerPluginInformation(pluginInformation);var buttonId='InsertImage';var buttonConfiguration={id:buttonId,tooltip:this.localize(buttonId+'-Tooltip'),iconCls:'htmlarea-action-image-edit',action:'onButtonPress',hotKey:(this.pageTSConfiguration?this.pageTSConfiguration.hotKey:null),dialog:true};this.registerButton(buttonConfiguration);return true;},onButtonPress:function(editor,id){var buttonId=this.translateHotKey(id);buttonId=buttonId?buttonId:id;var additionalParameter;this.image=this.editor.getParentElement();if(this.image&&!/^img$/i.test(this.image.nodeName)){this.image=null;}
if(this.image){additionalParameter='&act=image';}
this.openContainerWindow(buttonId,this.getButton(buttonId).tooltip.title,this.getWindowDimensions({width:610,height:500},buttonId),this.makeUrlFromModulePath(this.imageModulePath,additionalParameter));this.dialog.mon(Ext.get(Ext.isIE?this.editor.document.body:this.editor.document.documentElement),'drop',this.onDrop,this,{single:true});return false;},insertImage:function(image){this.editor.focus();this.restoreSelection();this.editor.insertHTML(image);this.close();},onDrop:function(event){if(Ext.isWebKit){this.editor.iframe.onDrop();}
this.close();},onUpdateToolbar:function(button,mode,selectionEmpty,ancestors){if(mode==='wysiwyg'&&this.editor.isEditable()&&button.itemId==='InsertImage'&&!button.disabled){var image=this.editor.getParentElement();if(image&&!/^img$/i.test(image.nodeName)){image=null;}
if(image){button.setTooltip({title:this.localize('Modify image')});}else{button.setTooltip({title:this.localize('Insert image')});}}}});