(function($){
"use strict";
$.fn.mfnMenu=function(options){
var menu=$(this);
var defaults={
addLast: false,
arrows: false,
delay: 100,
hoverClass: 'hover',
mobileInit: 768,
responsive: true
};
options=$.extend(defaults, options);
var init=function(){
$('li:has(ul)', menu).addClass('submenu');
$('li:has(ul)', menu).append('<span class="menu-toggle"></span>');
menu.children('li:has(ul.mfn-megamenu)').addClass('mfn-megamenu-parent');
$('.submenu ul li:last-child', menu).addClass('last-item');
if(options.addLast){
$('> li:last-child', menu).addClass('last')
.prev().addClass('last');
}
if(options.arrows){
$('li ul li:has(ul) > a', menu).append('<i class="menu-arrow icon-right-open"></i>');
}};
var doMenu=function(){
if((window.innerWidth >=options.mobileInit)||(!options.responsive)){
$('> li, ul:not(.mfn-megamenu) li', menu).on('mouseenter', function(){
$(this).stop(true, true).addClass(options.hoverClass);
$(this).children('ul').stop(true, true).fadeIn(options.delay);
}).on('mouseleave', function(){
$(this).stop(true, true).removeClass(options.hoverClass);
$(this).children('ul').stop(true, true).fadeOut(options.delay);
});
}else{
$('li', menu).off('hover');
$('li > .menu-toggle', menu).off('click').on('click', function(){
var el=$(this).closest('li');
if(el.hasClass(options.hoverClass)){
el.removeClass(options.hoverClass)
.children('ul').stop(true, true).fadeOut(options.delay);
}else{
el.addClass(options.hoverClass)
.children('ul').stop(true, true).fadeIn(options.delay);
}});
}};
$(window).on('resize', doMenu);
var __constructor=function(){
init();
doMenu();
};
__constructor();
};})(jQuery);