jQuery.fn.fkMenu=function(options,resources){var elements=$(this).get();$.each(elements,function(){new jQuery.fkMenu(this,options,resources);});return elements;}
jQuery.fkMenu=fkComponent.extend({init:function(element,options,resources){var instance=this;this.dom=$(element);this.resources=resources;this.options=options;this.timer=[];this.zIndex=this.dom.css("z-index");var instance=this;this.ul=this.dom.find("> ul:first");var canvas=$("div.component.cp_canvas:first");var canvasOffsetTop=parseInt(canvas.offset().top)+parseInt(canvas.css("border-top-width"));var canvasOffsetLeft=parseInt(canvas.offset().left)+parseInt(canvas.css("border-left-width"));var ul_offs=this.ul.offset();if(ul_offs==null)
ul_offs={left:0,top:0};var ulData={"top":ul_offs.top-canvasOffsetTop,"left":ul_offs.left-canvasOffsetLeft,"width":this.ul.outerWidth(),"height":this.ul.outerHeight()};this.ul.remove();this.ul.css({"top":ulData.top,"left":ulData.left,"width":ulData.width,"height":ulData.height,"z-index":999,"position":"absolute"});this.ul.addClass("js-menu");this.ul.attr("id",this.dom.attr("id")+"-ul");canvas.append(this.ul);var liIndexCounter=0;this.ul.find("li").each(function()
{liIndexCounter++;var dom_id=instance.dom.attr("id")+"-li-"+liIndexCounter;$(this).attr("id",dom_id);$(this).bind("mouseover",function()
{for(k in instance.timer)
{if(instance.timer[k])
{clearTimeout(instance.timer[k]);instance.hoverOut(k,false,instance.options.menu_options.hover_parents,instance.options.menu_options.hover_current_page);}}
instance.timer[dom_id]=false;if($.browser.msie&&$.browser.version<8)
{$(this).addClass("hover");}
if(instance.options.menu_options.open_current_page)
{instance.closeCurrent(instance.ul.find("li.current"),dom_id,true);}
if(instance.options.menu_options.hover_parents)
{instance.addParentHover($(this).find("> a").eq(0));}});$(this).bind("mouseleave",function(){$(this).addClass("hover");open_current_page=instance.options.menu_options.open_current_page?"true":"false";hover_parents=instance.options.menu_options.hover_parents?"true":"false";hover_current=instance.options.menu_options.hover_current_page?"true":"false";instance.timer[dom_id]=setTimeout(function(){instance.hoverOut(dom_id,open_current_page,hover_parents,hover_current);},250);});});if(this.options.menu_options.show_plus_sign&&this.options.menu_style!="y_normal")
{var plusSignColor=this.options.menu_options.plus_sign_color;this.ul.find("li:has(ul) > a").each(function()
{var spacingRight=10+parseInt($(this).css("border-right-width"))+parseInt($(this).css("margin-right"));var $span=$("<span />").text("+").css({"position":"absolute","font-weight":"normal","color":plusSignColor,"right":spacingRight+"px"});$(this).append($span);});}
if(this.options.menu_options.open_current_page)
{this.openCurrent(this.ul.find("li.current"),this.options.menu_options.hover_parents,this.options.menu_options.hover_current_page,false,true);}
if(this.options.menu_options.hover_current_page)
{if(this.options.menu_options.hover_parents){this.ul.find("li.current").parents("li:has(a)").each(function(index){$(this).find('a:first').addClass("current");});}}},openCurrent:function(element,hover_parents,hover_current,isParent,notMouse)
{if(element.size()==0)return false;if(!element.hasClass("hover"))
element.addClass("hover");var parent=element.parent();if(parent.hasClass("component"))return false;this.openCurrent(parent,hover_parents,hover_current,true,notMouse);},closeCurrent:function(element,currentId,recurse)
{if(element.size()==0)return false;if(element.attr("id")==currentId||element.find("#"+currentId).size())
{return false;}
element.removeClass("hover");if(recurse===true)
{var parent=element.parent();if(parent.hasClass("component"))return false;this.closeCurrent(parent,currentId,recurse);}},hoverOut:function(li_Id,open_current_page,hover_parents,hover_current)
{$("#"+li_Id).removeClass("hover");this.removeParentHover($("#"+li_Id).find("> a").eq(0));var element=$("#"+li_Id);if(open_current_page=="true")
{var $lis=element.parent().find("li.current");if($lis.size()>0)
{if(hover_parents=="false")hover_parents=false;if(hover_current=="false")hover_current=false;this.openCurrent($lis,hover_parents,hover_current,false,true);}}},addParentHover:function(element)
{if(element.parent().hasClass("component"))
return false;element.parent().find("> a").addClass("hover");},removeParentHover:function(element)
{if(element.parent().hasClass("component"))
return false;element.parent().find("> a").removeClass("hover");}});
