/*
 * Multi-level Drop Down Menu 2.2
 * December 9, 2009
 * Corey Hart @ http://www.codenothing.com
 *
 * Credit to Shaun Johnson for pointing out the Prototype confliction, and IE6 bgiframe fix
 */
(function(a,b){a.fn.reverse=[]._reverse||[].reverse;a.fn.bgiframe=a.fn.bgiframe?a.fn.bgiframe:a.fn.bgIframe?a.fn.bgIframe:function(){return this};a.fn.dropDownMenu=function(c){return this.each(function(){var e=a(this),k=[],h,m,d,f,j=a.extend({timer:500,ie6:"ie6",parentMO:b,childMO:b,levels:[],numberOfLevels:5},c||{},a.metadata?e.metadata():{});if(j.levels.length){j.numberOfLevels=j.levels.length}else{j.levels[0]=j.parentMO?j.parentMO:j.childMO;for(var l=1;l<j.numberOfLevels+1;l++){j.levels[l]=j.childMO}}if(/msie 6/.exec(navigator.userAgent.toLowerCase())&&!window.opera){e.addClass(j.ie6)}k[0]=e.children("li");for(var l=1;l<j.numberOfLevels+1;l++){h=j.levels[l-1];k[l]=k[l-1].children("ul").children("li");k[l-1].bind("mouseover.multi-ddm",function(){d=a(this);f=d.children("a");if(m){clearTimeout(m)}a("a",d.siblings("li")).each(function(){var i=a(this),n=i.data("classname");if(i.hasClass(n)){i.removeClass(""+n)}});d.siblings("li").find("ul:visible").reverse().hide();f.addClass(""+f.data("classname")).siblings("ul").bgiframe().show()}).bind("mouseout.multi-ddm",function(){if(a(this).children("a").data("classname")==j.levels[0]){m=setTimeout(g,j.timer)}}).children("a").data("classname",h)}a(document).click(g);function g(){a("a",e).each(function(){var i=a(this),n=i.data("classname");if(i.hasClass(n)){i.removeClass(""+n)}});a("ul:visible",e).reverse().hide();if(m){clearTimeout(m)}}})}})(jQuery);