CKEDITOR.plugins.add( 'figure', {
    icons: 'figure',
    init: function( editor ) {
//        console.log(CKEDITOR.dtd);
//        console.log(CKEDITOR.dtd['span']);
//        CKEDITOR.dtd['figure'] = {};
//        CKEDITOR.dtd.$block['figure'] = 0;
//        CKEDITOR.dtd.$blockLimit['figure'] = 0;
//        CKEDITOR.dtd.$object['figure'] = 1;
//        CKEDITOR.dtd.$removeEmpty['figure'] = 1;
//        CKEDITOR.dtd.$inline['figure'] = 1;
//        editor.filter.allow( 'figure' );
        
        editor.addCommand( 'figure', new CKEDITOR.dialogCommand( 'figureDialog' ) );
        editor.ui.addButton( 'Figure', {
            label: 'Вставьте информационный текст',
            command: 'figure',
            toolbar: 'insert'
        });
		
		 if ( editor.contextMenu ) {
            editor.addMenuGroup( 'figureGroup' );
            editor.addMenuItem( 'figureItem', {
                label: 'Редактировать инфо. блок ',
                icon: this.path + 'icons/figure.png',
                command: 'figure',
                group: 'figureGroup'
            });
			editor.on( 'doubleclick', function( evt ) {
				var element = evt.data.element;
				if ( $(element).attr('class') == 'infoblock' ){
					evt.data.dialog = 'figureDialog';
                    evt.data.command = 'editfigure';
                }
			} );
            editor.contextMenu.addListener( function( element ) {
                if ( element.getAscendant( 'figure', true ) ) {
                    return { abbrItem: CKEDITOR.TRISTATE_OFF };
                }
            });
        }

        CKEDITOR.dialog.add( 'figureDialog', this.path + 'dialogs/figure.js' );
    }
});

