+/*\r
+Copyright (c) 2003-2011, CKSource - Frederico Knabben. All rights reserved.\r
+For licensing, see LICENSE.html or http://ckeditor.com/license\r
+*/\r
+\r
+(function()\r
+{\r
+ CKEDITOR.plugins.add( 'iframe',\r
+ {\r
+ requires : [ 'dialog', 'fakeobjects' ],\r
+ init : function( editor )\r
+ {\r
+ var pluginName = 'iframe',\r
+ lang = editor.lang.iframe;\r
+\r
+ CKEDITOR.dialog.add( pluginName, this.path + 'dialogs/iframe.js' );\r
+ editor.addCommand( pluginName, new CKEDITOR.dialogCommand( pluginName ) );\r
+\r
+ editor.addCss(\r
+ 'img.cke_iframe' +\r
+ '{' +\r
+ 'background-image: url(' + CKEDITOR.getUrl( this.path + 'images/placeholder.png' ) + ');' +\r
+ 'background-position: center center;' +\r
+ 'background-repeat: no-repeat;' +\r
+ 'border: 1px solid #a9a9a9;' +\r
+ 'width: 80px;' +\r
+ 'height: 80px;' +\r
+ '}'\r
+ );\r
+\r
+ editor.ui.addButton( 'Iframe',\r
+ {\r
+ label : lang.toolbar,\r
+ command : pluginName\r
+ });\r
+\r
+ editor.on( 'doubleclick', function( evt )\r
+ {\r
+ var element = evt.data.element;\r
+ if ( element.is( 'img' ) && element.data( 'cke-real-element-type' ) == 'iframe' )\r
+ evt.data.dialog = 'iframe';\r
+ });\r
+\r
+ if ( editor.addMenuItems )\r
+ {\r
+ editor.addMenuItems(\r
+ {\r
+ iframe :\r
+ {\r
+ label : lang.title,\r
+ command : 'iframe',\r
+ group : 'image'\r
+ }\r
+ });\r
+ }\r
+\r
+ // If the "contextmenu" plugin is loaded, register the listeners.\r
+ if ( editor.contextMenu )\r
+ {\r
+ editor.contextMenu.addListener( function( element, selection )\r
+ {\r
+ if ( element && element.is( 'img' ) && element.data( 'cke-real-element-type' ) == 'iframe' )\r
+ return { iframe : CKEDITOR.TRISTATE_OFF };\r
+ });\r
+ }\r
+ },\r
+ afterInit : function( editor )\r
+ {\r
+ var dataProcessor = editor.dataProcessor,\r
+ dataFilter = dataProcessor && dataProcessor.dataFilter;\r
+\r
+ if ( dataFilter )\r
+ {\r
+ dataFilter.addRules(\r
+ {\r
+ elements :\r
+ {\r
+ iframe : function( element )\r
+ {\r
+ return editor.createFakeParserElement( element, 'cke_iframe', 'iframe', true );\r
+ }\r
+ }\r
+ });\r
+ }\r
+ }\r
+ });\r
+})();\r