(function($){$.fn.ablMenu=function(options){options=$.extend({cssClass:"ablMenu",yOffset:2,xOffset:-2,openDelay:100,openSpeed:"fast",closeDelay:100,closeSpeed:"fast",bgiframe:false,highlightLink:false,ignoreQueryString:true},options||{});var openTimer=null;var closeTimer=null;var currentLocation=AblWindow.stripLocation().toLowerCase();if(options.ignoreQueryString){currentLocation=AblWindow.stripQueryString(currentLocation)}var setStyles=function($ul,level){$ul.addClass(((level===0)?"rootGroup":"subGroup")+" level"+level);$("li:first",$ul).addClass("first");$("li:last",$ul).addClass("last");$ul.children("li").not(".disabled, .separator").each(function(){var $li=$(this).addClass("item");if(options.highlightLink){var href=$li.children("a").attr("href");if((typeof href==="string")&&(href.length>0)&&(href.toLowerCase()===currentLocation)){$li.addClass("activeLink").parents("li").addClass("linkTrail")}}var $children=$li.children("ul").each(function(){setStyles($(this),level+1)});if($children.length>0){$li.addClass("hasChildren")}});if(options.bgiframe){$ul.bgiframe()}$("li.disabled a",$ul).each(function(){var $link=$(this);$link.parent().addClass("item").text($link.text()).end().remove()})};var open=function($menu,li){if(openTimer){clearTimeout(openTimer)}openTimer=setTimeout(function(){var $item=$(li).addClass("hover").parent("ul").removeClass("flyout").addClass("active").parent("li").removeClass("hover").parent("ul").removeClass("active").end().end().end().children("ul").addClass("flyout").end();if($item.hasClass("hasChildren")){$item.addClass("expanded")}var position=$item.position();var top=position.top+options.yOffset;var left=position.left+$item.width()+options.xOffset;$item.children("ul").css({top:top,left:left}).show(options.openSpeed)},options.openDelay)};var close=function($menu,li){closeTimer=setTimeout(function(){$(li).removeClass("expanded hover").children("ul").removeClass("flyout active").hide(options.closeSpeed)},options.closeDelay)};var wireEvents=function($menu){$("li",$menu).not(".separator, .disabled").hover(function(e){open($menu,this)},function(e){close($menu,this)})};return this.each(function(){var $menu=$(this).addClass(options.cssClass);setStyles($menu,0);wireEvents($menu)})}})(jQuery);