/* Copyright (C) 2007 - 2010 YOOtheme GmbH, YOOtheme Proprietary Use License (http://www.yootheme.com/license) */

Warp.FancyMenu=new Class({initialize:function(b,a){this.setOptions({transition:Fx.Transitions.sineInOut,duration:500,wait:false,onClick:Class.empty,opacity:1,mode:"move",slideOffset:30,colorSelector:["red","pink","blue","green","orange","yellow","lilac","turquoise"],itemSelector:"li.level1",activeSelector:"li.active"},a);this.menu=$(b);this.current=this.menu.getElement(this.options.activeSelector);this.li=[];this.div=[];this.menu.getElements(this.options.itemSelector).each(function(c,e){this.createBackground(c,
e);c.addEvent("click",function(f){this.clickItem(f,c)}.bind(this));c.addEvent("mouseenter",function(){this.mouseenterItem(c,e)}.bind(this));this.options.mode=="move"?c.addEvent("mouseleave",function(){this.mouseleaveItem(this.current,e)}.bind(this)):c.addEvent("mouseleave",function(){this.mouseleaveItem(c,e)}.bind(this))}.bind(this));if(this.options.mode=="move")if(this.current)this.setCurrent(this.current);else{var d=this.menu.getElement("li");d.addClass("active");d.addClass("current");this.setCurrent(d)}},
createBackground:function(b,a){if(!(this.options.mode=="move"&&a!=0)){var d="fancy bg"+(a+1);this.options.colorSelector.each(function(c){if(b.hasClass(c))d+=" bg-"+c});this.div[a]=(new Element("div",{"class":"fancy-1"})).adopt((new Element("div",{"class":"fancy-2"})).adopt(new Element("div",{"class":"fancy-3"})));this.div[a].fx=this.div[a].effects(this.options);this.li[a]=(new Element("li",{"class":d})).adopt(this.div[a]).injectInside(this.menu);this.li[a].fx=this.li[a].effects(this.options)}},setCurrent:function(b){this.li[0].setStyles({left:b.offsetLeft,
width:b.offsetWidth,visibility:"visible",opacity:this.options.opacity});this.current=b},clickItem:function(b,a){this.current||this.setCurrent(a);this.current=a;this.options.onClick(new Event(b),a)},mouseenterItem:function(b,a){switch(this.options.mode){case "fade":this.fadeFx(b,a,true);break;case "slide":this.slideFx(b,a,true);break;default:this.moveFx(b,0)}},mouseleaveItem:function(b,a){switch(this.options.mode){case "fade":this.fadeFx(b,a,false);break;case "slide":this.slideFx(b,a,false);break;
default:this.moveFx(b,0)}},moveFx:function(b,a){this.current&&this.li[a].fx.custom({left:[this.li[a].offsetLeft,b.offsetLeft],width:[this.li[a].offsetWidth,b.offsetWidth]})},fadeFx:function(b,a,d){if(d){this.li[a].fx.setOptions(this.options);this.li[a].fx.set({left:b.offsetLeft,width:b.offsetWidth});this.li[a].fx.custom({opacity:[0,1]})}else{this.li[a].fx.setOptions({duration:this.options.duration*2});this.li[a].fx.custom({opacity:[1,0]})}},slideFx:function(b,a,d){var c=this.options.slideOffset;if(d){this.li[a].fx.set({opacity:1,
left:b.offsetLeft,width:b.offsetWidth});this.div[a].fx.set({"margin-top":c});this.div[a].fx.custom({"margin-top":[c,0]})}else{this.div[a].fx.set({"margin-top":0});this.div[a].fx.custom({"margin-top":[0,c]})}}});Warp.FancyMenu.implement(new Options); 

