var ImageMenu=new Class({getOptions:function(){return{onClose:Class.empty,openDim:250,transition:Fx.Transitions.quadOut,duration:400,open:null,border:0,pos:"horizontal"}},initialize:function(a,b){this.setOptions(this.getOptions(),b);this.elements=$$(a);if(this.options.pos=="vertical")this.prop="height";else this.prop="width";this.dimension={};this.dimension.closed=this.elements[0].getStyle(this.prop).toInt();this.dimension.openSelected=this.options.openDim;this.dimension.openOthers=Math.round((this.dimension.closed*this.elements.length-(this.dimension.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(a,b){a.addEvent("mouseenter",function(a){(new Event(a)).stop();this.reset(b)}.bind(this));a.addEvent("mouseleave",function(a){(new Event(a)).stop();this.reset(this.options.open)}.bind(this));var c=this}.bind(this));this.reset(this.options.open)},reset:function(a){if($type(a)=="number"){var b=this.dimension.openOthers;if(a+1==this.elements.length){b+=this.options.border}}else{var b=this.dimension.closed}var c={};this.elements.each(function(a,d){var e=b;if(d==this.elements.length-1){e=b+5}if(this.options.pos=="vertical")c[d]={height:e};else c[d]={width:e}}.bind(this));if($type(a)=="number"){if(this.options.pos=="vertical")c[a]={height:this.dimension.openSelected};else c[a]={width:this.dimension.openSelected}}this.fx.start(c)}});ImageMenu.implement(new Options);ImageMenu.implement(new Events)
