/*
Copyright (c) 2003-2009, CKSource - Frederico Knabben. All rights reserved.
For licensing, see LICENSE.html or http://ckeditor.com/license
*/

CKEDITOR.plugins.add('panelbutton',{requires:['button'],beforeInit:function(a){a.ui.addHandler(CKEDITOR.UI_PANELBUTTON,CKEDITOR.ui.panelButton.handler);}});CKEDITOR.UI_PANELBUTTON=4;(function(){var a=function(b){var d=this;var c=d._;if(c.state==CKEDITOR.TRISTATE_DISABLED)return;d.createPanel(b);if(c.on){c.panel.hide();return;}c.panel.showBlock(d._.id,d.document.getById(d._.id),4);};CKEDITOR.ui.panelButton=CKEDITOR.tools.createClass({base:CKEDITOR.ui.button,$:function(b){var d=this;var c=b.panel;delete b.panel;d.base(b);d.document=c&&c.parent&&c.parent.getDocument()||CKEDITOR.document;d.hasArrow=true;d.click=a;d._={panelDefinition:c};},statics:{handler:{create:function(b){return new CKEDITOR.ui.panelButton(b);}}},proto:{createPanel:function(b){var c=this._;if(c.panel)return;var d=this._.panelDefinition||{},e=d.parent||CKEDITOR.document.getBody(),f=this._.panel=new CKEDITOR.ui.floatPanel(b,e,d),g=this;f.onShow=function(){if(g.className)this.element.getFirst().addClass(g.className+'_panel');c.oldState=g._.state;g.setState(CKEDITOR.TRISTATE_ON);c.on=1;if(g.onOpen)g.onOpen();};f.onHide=function(){if(g.className)this.element.getFirst().removeClass(g.className+'_panel');g.setState(c.oldState);c.on=0;if(g.onClose)g.onClose();};f.onEscape=function(){f.hide();g.document.getById(c.id).focus();};if(this.onBlock)this.onBlock(f,c.id);f.getBlock(c.id).onHide=function(){c.on=0;g.setState(CKEDITOR.TRISTATE_OFF);};}}});})();
