Parchment.Utils={};Parchment.Utils.Cage=new Class({Implements:[Events,Options],initialize:function(a){this.setOptions(a)}});Parchment.Utils.Toolbar=new Class({Implements:[Events,Options],initialize:function(b,a){if(!b){alert("editor does not exist");return}this.setOptions(a);this.editor=b;this.buildToolbar()},buildToolbar:function(){this.toolbar=new Element("div.parchment-2-toolbar").inject(document.body);var a=this.editor,b=parseInt(this.toolbar.getStyle("z-index"),10)||0;while(a&&a!=document){b=Math.max(b,parseInt(a.getStyle("z-index"),10)||0);a=a.parentNode}if(!!b){this.toolbar.setStyle("z-index",b+1)}this.toolbar.addClass(this.options["class"]);Object.each(this.options.display,function(c,d){this.addSpan(d);c.each(this.addButton.bind(this))}.bind(this));this.toolbar.addEvents({mouseover:function(){clearTimeout(this.hidetoolbar)}.bind(this),mouseout:function(){this.hidetoolbar=setTimeout(function(){this.toolbar.removeClass("on")}.bind(this),500)}.bind(this)});this.editor.addEvent("mouseover:relay("+this.options.relay+")",function(d,c){clearTimeout(this.hidetoolbar);this.toolbar.addClass("on");this.setPosition(c);this.toolbar.store("cage",c);this.fireEvent("showtoolbar",c)}.bind(this));this.editor.addEvent("mouseout:relay("+this.options.relay+")",function(d,c){this.hidetoolbar=setTimeout(function(){this.toolbar.removeClass("on");this.fireEvent("hidetoolbar")}.bind(this),500)}.bind(this))},setPosition:function(a){var b=a.getCoordinates();this.toolbar.setStyles({top:b.top-this.toolbar.getCoordinates().height,left:b.left+(b.width/2)-(this.toolbar.getCoordinates().width/2)})},addSpan:function(b){var a=new Element("span",{text:b}).inject(this.toolbar)},addButton:function(a){var b=new Element("button",{text:a.text,type:"button","class":a.command.replace(" ","-").toLowerCase()}).inject(this.toolbar);b.addEvent("click",this.fireEvent.pass(["command",a.command],this));this.toolbar.removeClass("on")}});
