var SMenu=Class.create({initialize:function(A){this.anchor=$(A);this.rootItems=$A();this.currentItem;this.attachEvent();this.options=Object.extend({afterAssociatedShow:null},arguments[1]||{});},attachEvent:function(){this.anchor.observe("mouseout",function(A){if(this.currentItem){if(Position.within(this.currentItem.associatedItem,A.pointerX(),A.pointerY())){return ;}if(!Position.within(this.anchor,A.pointerX(),A.pointerY())){this.associatedHide(this.currentItem);this.currentItem=null;}}}.bind(this));},addItem:function(A){this.rootItems.push(new SMenuItem(this,A));},displayMenu:function(A){if(!this.currentItem){this.currentItem=A;}else{if(this.currentItem.element==A.element){return ;}else{this.associatedHide(this.currentItem);this.currentItem=A;}}this.associatedShow(A);},associatedShow:function(A){A.associatedItem.show();if(this.options.afterAssociatedShow){this.options.afterAssociatedShow();}},associatedHide:function(A){A.associatedItem.hide();}});var SMenuItem=Class.create({initialize:function(B,A){this.element=$(A);this.associatedItem=$(this.element.readAttribute("itemId"));this.smenu=B;this.attachEvents();},attachEvents:function(){this.element.observe("mouseover",function(A){this.smenu.displayMenu(this);}.bind(this));this.element.observe("mouseout",function(A){if(Position.within(this.element,A.pointerX(),A.pointerY())){Event.stop(A);}}.bind(this));}});