/*
 * Multi-level Drop Down Menu 2.1
 * October 1, 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,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}}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);
