
var ImageMenu=new Class({
initialize:function(myElements,options){
options=Object.extend({
onClick:Class.empty,
start:-1,
openWidth:0,
smallWidth:0,
itemWidth:0,
selected:-1,
open:-1,
transition:Fx.Transitions.quadOut},options||{});
this.myElements=myElements;
this.options=options;
options.itemWidth=myElements[0].getStyle('width').toInt();
options.smallWidth=Math.round(((options.itemWidth*myElements.length)-options.openWidth)/(myElements.length-1));
var fx=new Fx.Elements(myElements,{wait:false,duration:400,transition:options.transition});
myElements.each(function(el,i){
el.addEvent('mouseover',function(e){
e=new Event(e).stop();
el.show();});
el.addEvent('click',function(e){
el.select();});
el.addEvent('mouseout',function(e){
e=new Event(e).stop();
el.hide();});
el.show=function(){
var obj={};
obj[i]={'width':[el.getStyle('width').toInt(),options.openWidth]};
myElements.each(function(other,j){
if(other!=el){
var w=other.getStyle('width').toInt();
if(w!=options.smallWidth)obj[j]={'width':[w,options.smallWidth]};}});
fx.start(obj);};
el.hide=function(){
var obj={};
if(options.selected==-1){
myElements.each(function(el,i){
obj[i]={'width':[el.getStyle('width').toInt(),options.itemWidth]};});}else{
myElements.each(function(el,i){
if(i!=options.selected){
var w=el.getStyle('width').toInt();
if(w!=options.smallWidth){obj[i]={'width':[w,options.smallWidth]}};}else{
obj[i]={'width':[el.getStyle('width').toInt(),options.openWidth]};}});}
fx.start(obj);};
el.select=function(){
if(options.selected==i){options.selected=-1}else{options.selected=i}
options.onClick(options.selected,options.open);
options.open=options.selected;};});
if(options.start!=-1){
myElements[options.start].show();
myElements[options.start].select();}},
reset:function(){
this.options.selected=-1;
this.options.open=-1;
this.myElements.each(function(el,i){
el.hide();});}});