var ImageMenu=new Class({getOptions:function(){return{onOpen:false,onClose:Class.empty,openWidth:200,transition:Fx.Transitions.quadOut,duration:400,open:null,border:0}},initialize:function(elements,options){this.setOptions(this.getOptions(),options);this.elements=$$(elements);this.widths={};this.widths.closed=this.elements[0].getStyle("width").toInt();this.widths.openSelected=this.options.openWidth;this.widths.openOthers=Math.round(((this.widths.closed*this.elements.length)-(this.widths.openSelected+this.options.border))/(this.elements.length-1));this.fx=new Fx.Elements(this.elements,{wait:false,duration:this.options.duration,transition:this.options.transition});this.elements.each(function(el,i){el.addEvent("mouseenter",function(e){new Event(e).stop();this.reset(i)}.bind(this));el.addEvent("mouseleave",function(e){new Event(e).stop();this.reset(this.options.open)}.bind(this));var obj=this;el.addEvent("click",function(e){if(obj.options.onOpen){new Event(e).stop();if(obj.options.open==i){obj.options.open=null;obj.options.onClose(this.href,i)}else{obj.options.open=i;obj.options.onOpen(this.href,i)}}})}.bind(this));if(this.options.open){if($type(this.options.open)=="number"){this.reset(this.options.open)}else{this.elements.each(function(el,i){if(el.id==this.options.open){this.reset(i)}},this)}}},reset:function(num){if($type(num)=="number"){var width=this.widths.openOthers;if(num+1==this.elements.length){width+=this.options.border}}else{var width=this.widths.closed}var obj={};this.elements.each(function(el,i){var w=width;if(i==this.elements.length-1){w=width+5}obj[i]={width:w}}.bind(this));if($type(num)=="number"){obj[num]={width:this.widths.openSelected}}this.fx.start(obj)}});ImageMenu.implement(new Options);ImageMenu.implement(new Events);