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

(function(e){var m=function(){};e.extend(m.prototype,{name:"dropdownMenu",options:{mode:"default",itemSelector:"li",firstLevelSelector:"li.level1",dropdownSelector:"ul",duration:600,remainTime:800,remainClass:"remain",transition:"easeOutExpo",withopacity:true,centerDropdown:false,reverseAnimation:false,fixWidth:false,fancy:null},initialize:function(j,f){this.options=e.extend({},this.options,f);var a=this,l=null,r=false;this.menu=j;this.dropdowns=[];this.options.withopacity=e.browser.msie&&parseFloat(e.browser.version)<
9?false:this.options.withopacity;if(this.options.fixWidth){var t=5;this.menu.children().each(function(){t+=e(this).width()});this.menu.css("width",t)}this.menu.find(this.options.firstLevelSelector).each(function(k){var g=e(this),h=g.find(a.options.dropdownSelector).css({overflow:"hidden"});if(h.length){h.css("overflow","hidden");var c=e("<div>").data("dpwidth",parseFloat(h.width())).data("dpheight",parseFloat(h.height())).css({overflow:"hidden"}).append("<div></div>"),u=c.find("div:first").css({"min-width":c.data("dpwidth"),
"min-height":c.data("dpheight")});h.children().appendTo(u);c.appendTo(h);a.options.centerDropdown&&h.css("margin-left",(parseFloat(h.css("width"))/2-g.width()/2)*-1);a.dropdowns.push({dropdown:h,div:c,innerdiv:u})}g.bind({mouseenter:function(){r=true;a.menu.trigger("menu:enter",[g,k]);if(l){if(l.index==k)return;l.item.removeClass(a.options.remainClass);l.div.hide()}if(h.length){g.addClass(a.options.remainClass);c.stop().show();var b=c.data("dpwidth"),i=c.data("dpheight");switch(a.options.mode){case "showhide":b=
{width:b,height:i};c.css(b);break;case "diagonal":var d={width:0,height:0};b={width:b,height:i};if(a.options.withopacity){d.opacity=0;b.opacity=1}c.css(d).animate(b,a.options.duration,a.options.transition);break;case "height":d={width:b,height:0};b={height:i};if(a.options.withopacity){d.opacity=0;b.opacity=1}c.css(d).animate(b,a.options.duration,a.options.transition);break;case "width":d={width:0,height:i};b={width:b};if(a.options.withopacity){d.opacity=0;b.opacity=1}c.css(d).animate(b,a.options.duration,
a.options.transition);break;case "slide":h.css({width:b,height:i});c.css({width:b,height:i,"margin-top":i*-1}).animate({"margin-top":0},a.options.duration,a.options.transition);break;default:d={width:b,height:i};b={};if(a.options.withopacity){d.opacity=0;b.opacity=1}c.css(d).animate(b,a.options.duration,a.options.transition)}l={item:g,div:c,index:k}}else l=active=null},mouseleave:function(b){if(b.srcElement&&e(b.srcElement).hasClass("module"))return false;r=false;h.length?window.setTimeout(function(){if(!(r||
c.css("display")=="none")){a.menu.trigger("menu:leave",[g,k]);var i=function(){g.removeClass(a.options.remainClass);l=null;c.hide()};if(a.options.reverseAnimation)switch(a.options.mode){case "showhide":i();break;case "diagonal":var d={width:0,height:0};if(a.options.withopacity)d.opacity=0;c.stop().animate(d,a.options.duration,a.options.transition,function(){i()});break;case "height":d={height:0};if(a.options.withopacity)d.opacity=0;c.stop().animate(d,a.options.duration,a.options.transition,function(){i()});
break;case "width":d={width:0};if(a.options.withopacity)d.opacity=0;c.stop().animate(d,a.options.duration,a.options.transition,function(){i()});break;case "slide":c.stop().animate({"margin-top":parseFloat(c.data("dpheight"))*-1},a.options.duration,a.options.transition,function(){i()});break;default:d={};if(a.options.withopacity)d.opacity=0;c.stop().animate(d,a.options.duration,a.options.transition,function(){i()})}else i()}},a.options.remainTime):a.menu.trigger("menu:leave")}})});if(this.options.fancy){var n=
e.extend({mode:"move",transition:"easeOutExpo",duration:500,onEnter:null,onLeave:null},this.options.fancy),o=this.menu.append('<div class="fancy bg1"><div class="fancy-1"><div class="fancy-2"><div class="fancy-3"></div></div></div></div>').find(".fancy:first").hide(),q=this.menu.find(".active:first"),p=null,s=function(k,g){if(!(g&&p&&k.get(0)==p.get(0))){o.stop().show().css("visibility","visible");if(n.mode=="move")!q.length&&!g?o.hide():o.animate({left:k.position().left+"px",width:k.width()+"px"},
n.duration,n.transition);else g?o.css({opacity:q?0:1,left:k.position().left+"px",width:k.width()+"px"}).animate({opacity:1},n.duration):o.animate({opacity:0},n.duration);p=g?k:null}};this.menu.bind({"menu:enter":function(k,g,h){s(g,true);if(n.onEnter)n.onEnter(g,h,o)},"menu:leave":function(k,g,h){s(q,false);if(n.onLeave)n.onLeave(g,h,o)},"menu:fixfancy":function(){p&&o.stop().show().css({left:p.position().left+"px",width:p.width()+"px"})}});q.length&&n.mode=="move"&&s(q,true)}},matchHeight:function(){if(this.menu){this.menu.find("li.level2 div.sub").each(function(){var j=
e(this),f=j.parent().find("div.hover-box4:first"),a=Math.max(j.height(),f.height());e([j,f]).each(function(){this.css("height",a)})});this._updateDimensions()}},matchUlHeight:function(){if(this.menu){this.menu.find("div.dropdown-3").each(function(){var j=e(this).children(),f=0;e(j).each(function(){f=Math.max(e(this).height(),f)});e(j).each(function(){e(this).css("height",f)})});this._updateDimensions()}},_updateDimensions:function(){e(this.dropdowns).each(function(j,f){f.div.stop().show().data({dpwidth:f.innerdiv.width(),
dpheight:f.innerdiv.height()}).hide();f.dropdown.css({"min-width":f.div.data("dpwidth"),"min-height":f.div.data("dpheight")})})}});e.fn[m.prototype.name]=function(){var j=arguments,f=j[0]?j[0]:null;return this.each(function(){var a=e(this);if(m.prototype[f]&&a.data(m.prototype.name)&&f!="initialize")a.data(m.prototype.name)[f].apply(a.data(m.prototype.name),Array.prototype.slice.call(j,1));else if(!f||e.isPlainObject(f)){var l=new m;m.prototype.initialize&&l.initialize.apply(l,e.merge([a],j));a.data(m.prototype.name,
l)}else e.error("Method "+f+" does not exist on jQuery."+m.name)})}})(jQuery);

