var Rokmoomenu=new Class({version:'2.0',options:{bgiframe:true,hoverClass:'sfHover',delay:500,animate:{props:['opacity','height'],opts:Class.empty},bg:{enabled:true,overEffect:{duration:700,transition:Fx.Transitions.Quad.easeOut},outEffect:{duration:500,transition:Fx.Transitions.Sine.easeIn}}},initialize:function(el,options){this.setOptions(options);if(window.ie6)this.options.delay=50;this.element=$(el);if(this.options.bg.enabled){this.element.getChildren().each(function(li){if(!li.hasClass('active')){li.getFirst().setStyle('position','relative');var size=li.getCoordinates();var margins={'x':li.getStyle('margin-left').toInt()+ li.getStyle('margin-right').toInt(),'y':li.getStyle('margin-top').toInt()+ li.getStyle('margin-bottom').toInt()};var div=new Element('div',{'class':'animated-bg','styles':{'position':'absolute','left':0,'top':0,'opacity':0,'width':size.width- margins.x,'height':size.height- margins.y}}).inject(li);var self=this;var fx=new Fx.Style(div,'opacity',{duration:this.options.bg.duration,transition:this.options.bg.transition,wait:false}).set(0);li.addEvents({'mouseenter':function(){fx.options.duration=self.options.bg.overEffect.duration;fx.options.transition=self.options.bg.overEffect.transition;fx.start(1);},'mouseleave':function(){fx.options.duration=self.options.bg.outEffect.duration;fx.options.transition=self.options.bg.outEffect.transition;fx.start(0);}});}},this);};this.element.getElements('li').each(function(el){el.addEvents({'mouseover':this.over.bind(this,el),'mouseout':this.out.bind(this,el)});},this);},over:function(el){$clear(el.sfTimer);if(!el.hasClass(this.options.hoverClass)){if(window.ie6){var classes=el.getProperty('class').split(" ");var option=this.options.hoverClass;classes=classes.filter(function(y){return!y.test("-"+ option);});classes.each(function(cls){if(el.hasClass(cls))el.addClass(cls+"-"+ option);},this);var hackish=classes.join("-")+"-"+ option;if(!el.hasClass(hackish))el.addClass(hackish);}
el.addClass(this.options.hoverClass);var ul=el.getElement('ul');if(ul){if(this.options.bgiframe)ul.bgiframe({opacity:false});ul.animate(this.options.animate);}
el.getSiblings().each(function(ele){ele.removeClass(this.options.hoverClass);},this);}},out:function(el){var option=this.options.hoverClass;el.sfTimer=(function(){if(window.ie6){var classes=el.getProperty('class').split(" ");classes=classes.filter(function(y){return y.test("-"+ option);});classes.each(function(cls){if(el.hasClass(cls))el.removeClass(cls);},this);var hackish=classes.join("-")+"-"+ option;if(!el.hasClass(hackish))el.removeClass(hackish);}
el.removeClass(option);var iframe=el.getElement('iframe');if(iframe)iframe.remove();}).delay(this.options.delay,this);}});Rokmoomenu.implement(new Options);Element.extend({animate:function(obj){if(!this.Fx){this.Fx=this.effects(obj.opts);this.now=this.getStyles.apply(this,obj.props);this.FxEmpty={};for(var i in this.now)this.FxEmpty[i]=0;}
if(obj.props.contains('height')||obj.props.contains('width')){this.setStyle('overflow','hidden');this.getParents('ul').each(function(el){el.setStyle('overflow','visible');});}
this.Fx.set(this.FxEmpty).start(this.now);},getParents:function(expr){var matched=[];var cur=this.getParent();while(cur&&cur!==document){if(cur.getTag().test(expr))matched.push(cur);cur=cur.getParent();}
return matched;},getSiblings:function(){var children=this.getParent().getChildren();children.splice(children.indexOf(this),1);return children;}});
