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

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

