(function($){
"use strict";
$(function(){
if($.fn.aviaMegamenu){
$(".main_menu .menu").aviaMegamenu({ modify_position: true });
}});
$.fn.aviaMegamenu=function(variables){
var defaults =
{
modify_position: true,
delay: 300
};
var options=$.extend(defaults, variables);
return this.each(function(){
var the_html=$('html').first(),
main=$('#main .container').first(),
left_menu=the_html.filter('.html_menu_left, .html_logo_center').length,
isMobile=$.avia_utilities.isMobile,
menu=$(this),
menuItems=menu.find(">li:not(.ignore_menu)"),
megaItems=menuItems.find(">div").parent().css({overflow:'hidden'}),
menuActive=menu.find('>.current-menu-item>a, >.current_page_item>a'),
dropdownItems=menuItems.find(">ul").parent(),
parentContainer=menu.parent(),
mainMenuParent=menu.parents('.main_menu').eq(0),
parentContainerWidth=parentContainer.width(),
delayCheck={},
mega_open=[];
if(! menuActive.length){
menu.find('.current-menu-ancestor, .current_page_ancestor').eq(0).find('a').eq(0).parent().addClass('active-parent-item');
}
if(! the_html.is('.html_header_top')){
options.modify_position=false;
}
menuItems.on('click' ,'a', function(e){
if(this.href==window.location.href + "#"||this.href==window.location.href + "/#"){
e.preventDefault();
}});
menuItems.each(function(){
var item=$(this),
pos=item.position(),
megaDiv=item.find("div").first().css({opacity:0, display:"none"}),
normalDropdown="";
if(! megaDiv.length){
normalDropdown=item.find(">ul").css({display:"none"});
}
if(megaDiv.length||normalDropdown.length){
var link=item.addClass('dropdown_ul_available').find('>a');
link.append('<span class="dropdown_available"></span>');
if(typeof link.attr('href')!='string'||link.attr('href')=="#"){
link.css('cursor', 'default').on('click', function(e){
e.preventDefault();
});
}}
if(options.modify_position&&megaDiv.length){
item.on('mouseenter focusin', function(){
calc_offset(item, pos, megaDiv, parentContainerWidth);
});
}});
function calc_offset(item, pos, megaDiv, parentContainerWidth){
pos=item.position();
if(! left_menu){
if(pos.left + megaDiv.width() < parentContainerWidth){
megaDiv.css({right: -megaDiv.outerWidth() + item.outerWidth()  });
}
else if(pos.left + megaDiv.width() > parentContainerWidth){
megaDiv.css({right: -mainMenuParent.outerWidth() + (pos.left + item.outerWidth()) });
}}else{
if(megaDiv.width() > pos.left + item.outerWidth()){
megaDiv.css({left: (pos.left* -1)});
}
else if(pos.left + megaDiv.width() > parentContainerWidth){
megaDiv.css({left: (megaDiv.width() - pos.left) * -1 });
}}
}
function megaDivShow(i){
if(delayCheck[i]==true){
var item=megaItems.eq(i).css({overflow:'visible'}).find("div").first(),
link=megaItems.eq(i).find("a").first();
mega_open["check"+i]=true;
item.stop().css('display','block').animate({opacity:1},300);
if(item.length){
link.addClass('open-mega-a');
}}
}
function megaDivHide(i){
if(delayCheck[i]==false){
megaItems.eq(i).find(">a").removeClass('open-mega-a');
var listItem=megaItems.eq(i),
item=listItem.find("div").first();
item.stop().css('display','block').animate({opacity:0},300, function(){
$(this).css('display','none');
listItem.css({overflow:'hidden'});
mega_open["check"+i]=false;
});
}}
if(isMobile){
megaItems.each(function(i){
$(this).on('click', function(){
if(mega_open["check"+i]!=true){
return false;
}});
});
}
megaItems.each(function(i){
$(this).on('mouseenter', function(){
delayCheck[i]=true;
setTimeout(function(){megaDivShow(i); }, options.delay);
}).on('mouseleave', function(){
delayCheck[i]=false;
setTimeout(function(){megaDivHide(i); }, options.delay);
});
$(this).find("a").on('focus', function(){
delayCheck[i]=true;
setTimeout(function(){ megaDivShow(i); }, 50);
}).on('blur', function(){
delayCheck[i]=false;
setTimeout(function(){ megaDivHide(i); }, 50);
});
});
dropdownItems.find('li').addBack().each(function(){
var currentItem=$(this),
sublist=currentItem.find('ul').first(),
showList=false;
if(sublist.length){
sublist.css({display:'block', opacity:0, visibility:'hidden'});
var currentLink=currentItem.find('>a');
currentLink.on('mouseenter', function(){
sublist.stop().css({visibility:'visible'}).animate({opacity:1});
});
currentLink.on('focus', function(){
sublist.stop().css({ visibility: 'visible' }).animate({ opacity: 1 });
sublist.find('li').on('focusin', function(){
sublist.stop().css({ visibility: 'visible' }).animate({ opacity: 1 });
}).on('focusout', function(){
sublist.stop().animate({ opacity: 0 }, function(){
sublist.css({ visibility: 'hidden' });
});
});
}).on('focusout', function(){
$(this).trigger('mouseleave');
});
currentItem.on('mouseleave', function(){
sublist.stop().animate({opacity:0}, function(){
sublist.css({visibility:'hidden'});
});
});
}});
});
};})(jQuery);