var Layout=function(){var layoutImgPath='admin/layout2/img/';var layoutCssPath='admin/layout2/css/';var resBreakpointMd=Metronic.getResponsiveBreakpoint('md');var handleSidebarAndContentHeight=function(){var content=$('.page-content');var sidebar=$('.page-sidebar');var body=$('body');var height;if(body.hasClass("page-footer-fixed")===true&&body.hasClass("page-sidebar-fixed")===false){var available_height=Metronic.getViewPort().height-$('.page-footer').outerHeight()-$('.page-header').outerHeight();if(content.height()<available_height){content.attr('style','min-height:'+available_height+'px');}}else{if(body.hasClass('page-sidebar-fixed')){height=_calculateFixedSidebarViewportHeight();if(body.hasClass('page-footer-fixed')===false){height=height-$('.page-footer').outerHeight();}}else{var headerHeight=$('.page-header').outerHeight();var footerHeight=$('.page-footer').outerHeight();if(Metronic.getViewPort().width<resBreakpointMd){height=Metronic.getViewPort().height-headerHeight-footerHeight;}else{height=sidebar.outerHeight()+10;}
if((height+headerHeight+footerHeight)<=Metronic.getViewPort().height){height=Metronic.getViewPort().height-headerHeight-footerHeight;}}
 content.attr('style','min-height:'+height+'px');}};var handleSidebarMenuActiveLink=function(mode,el){var url=location.hash.toLowerCase();var menu=$('.page-sidebar-menu');if(mode==='click'||mode==='set'){el=$(el);}else if(mode==='match'){menu.find("li > a").each(function(){var path=$(this).attr("href").toLowerCase();if(path.length>1&&url.substr(1,path.length-1)==path.substr(1)){el=$(this);return;}});}
if(!el||el.size()==0){return;}
if(el.attr('href').toLowerCase()==='javascript:;'||el.attr('href').toLowerCase()==='#'){return;}
var slideSpeed=parseInt(menu.data("slide-speed"));var keepExpand=menu.data("keep-expanded");menu.find('li.active').removeClass('active');menu.find('li > a > .selected').remove();if(menu.hasClass('page-sidebar-menu-hover-submenu')===false){menu.find('li.open').each(function(){if($(this).children('.sub-menu').size()===0){$(this).removeClass('open');$(this).find('> a > .arrow.open').removeClass('open');}});}else{menu.find('li.open').removeClass('open');}
el.parents('li').each(function(){$(this).addClass('active');$(this).find('> a > span.arrow').addClass('open');if($(this).parent('ul.page-sidebar-menu').size()===1){$(this).find('> a').append('<span class="selected"></span>');}

if($(this).children('ul.sub-menu').size()===1){$(this).addClass('open');}});if(mode==='click'){if(Metronic.getViewPort().width<resBreakpointMd&&$('.page-sidebar').hasClass("in")){$('.page-header .responsive-toggler').click();}}};var handleSidebarMenu=function(){$('.page-sidebar').on('click','li > a',function(e){if(Metronic.getViewPort().width>=resBreakpointMd&&$(this).parents('.page-sidebar-menu-hover-submenu').size()===1){return;}
if($(this).next().hasClass('sub-menu')===false){if(Metronic.getViewPort().width<resBreakpointMd&&$('.page-sidebar').hasClass("in")){$('.page-header .responsive-toggler').click();}
return;}
if($(this).next().hasClass('sub-menu always-open')){return;}
var parent=$(this).parent().parent();var the=$(this);var menu=$('.page-sidebar-menu');var sub=$(this).next();var autoScroll=menu.data("auto-scroll");var slideSpeed=parseInt(menu.data("slide-speed"));var keepExpand=menu.data("keep-expanded");if(keepExpand!==true){parent.children('li.open').children('a').children('.arrow').removeClass('open');parent.children('li.open').children('.sub-menu:not(.always-open)').slideUp(slideSpeed);parent.children('li.open').removeClass('open');}
var slideOffeset=-200;if(sub.is(":visible")){$('.arrow',$(this)).removeClass("open");$(this).parent().removeClass("open");sub.slideUp(slideSpeed,function(){if(autoScroll===true&&$('body').hasClass('page-sidebar-closed')===false){if($('body').hasClass('page-sidebar-fixed')){menu.slimScroll({'scrollTo':(the.position()).top});}else{Metronic.scrollTo(the,slideOffeset);}}
handleSidebarAndContentHeight();});}else{$('.arrow',$(this)).addClass("open");$(this).parent().addClass("open");sub.slideDown(slideSpeed,function(){if(autoScroll===true&&$('body').hasClass('page-sidebar-closed')===false){if($('body').hasClass('page-sidebar-fixed')){menu.slimScroll({'scrollTo':(the.position()).top});}else{Metronic.scrollTo(the,slideOffeset);}}
handleSidebarAndContentHeight();});}
e.preventDefault();});$('.page-sidebar').on('click',' li > a.ajaxify',function(e){e.preventDefault();Metronic.scrollTop();var url=$(this).attr("href");var menuContainer=$('.page-sidebar ul');var pageContent=$('.page-content');var pageContentBody=$('.page-content .page-content-body');menuContainer.children('li.active').removeClass('active');menuContainer.children('arrow.open').removeClass('open'); $(this).parents('li').each(function(){$(this).addClass('active');$(this).children('a > span.arrow').addClass('open');});$(this).parents('li').addClass('active');if(Metronic.getViewPort().width<resBreakpointMd&&$('.page-sidebar').hasClass("in")){$('.page-header .responsive-toggler').click();}
Metronic.startPageLoading();var the=$(this);$.ajax({type:"GET",cache:false,url:url,dataType:"html",success:function(res){if(the.parents('li.open').size()===0){$('.page-sidebar-menu > li.open > a').click();}
Metronic.stopPageLoading();pageContentBody.html(res);Layout.fixContentHeight();Metronic.initAjax();},error:function(xhr,ajaxOptions,thrownError){Metronic.stopPageLoading();pageContentBody.html('<h4>Could not load the requested content.</h4>');}});});$('.page-content').on('click','.ajaxify',function(e){e.preventDefault();Metronic.scrollTop();var url=$(this).attr("href");var pageContent=$('.page-content');var pageContentBody=$('.page-content .page-content-body');Metronic.startPageLoading();if(Metronic.getViewPort().width<resBreakpointMd&&$('.page-sidebar').hasClass("in")){$('.page-header .responsive-toggler').click();}
$.ajax({type:"GET",cache:false,url:url,dataType:"html",success:function(res){Metronic.stopPageLoading();pageContentBody.html(res);Layout.fixContentHeight();Metronic.initAjax();},error:function(xhr,ajaxOptions,thrownError){pageContentBody.html('<h4>Could not load the requested content.</h4>');Metronic.stopPageLoading();}});});$(document).on('click','.page-header-fixed-mobile .page-header .responsive-toggler',function(){Metronic.scrollTop();});};//
var _calculateFixedSidebarViewportHeight=function(){var sidebarHeight=Metronic.getViewPort().height-$('.page-header').outerHeight();if($('body').hasClass("page-footer-fixed")){sidebarHeight=sidebarHeight-$('.page-footer').outerHeight();}
return sidebarHeight;};var handleFixedSidebar=function(){var menu=$('.page-sidebar-menu');Metronic.destroySlimScroll(menu);if($('.page-sidebar-fixed').size()===0){handleSidebarAndContentHeight();return;}
if(Metronic.getViewPort().width>=resBreakpointMd){menu.attr("data-height",_calculateFixedSidebarViewportHeight());Metronic.initSlimScroll(menu);handleSidebarAndContentHeight();}};var handleFixedSidebarHoverEffect=function(){var body=$('body');if(body.hasClass('page-sidebar-fixed')){$('.page-sidebar').on('mouseenter',function(){if(body.hasClass('page-sidebar-closed')){$(this).find('.page-sidebar-menu').removeClass('page-sidebar-menu-closed');}}).on('mouseleave',function(){if(body.hasClass('page-sidebar-closed')){$(this).find('.page-sidebar-menu').addClass('page-sidebar-menu-closed');}});}};var handleSidebarToggler=function(){var body=$('body');if($.cookie&&$.cookie('sidebar_closed')==='1'&&Metronic.getViewPort().width>=resBreakpointMd){$('body').addClass('page-sidebar-closed');$('.page-sidebar-menu').addClass('page-sidebar-menu-closed');}
$('body').on('click','.sidebar-toggler',function(e){var sidebar=$('.page-sidebar');var sidebarMenu=$('.page-sidebar-menu');$(".sidebar-search",sidebar).removeClass("open");if(body.hasClass("page-sidebar-closed")){body.removeClass("page-sidebar-closed");sidebarMenu.removeClass("page-sidebar-menu-closed");if($.cookie){$.cookie('sidebar_closed','0');}}else{body.addClass("page-sidebar-closed");sidebarMenu.addClass("page-sidebar-menu-closed");if(body.hasClass("page-sidebar-fixed")){sidebarMenu.trigger("mouseleave");}
if($.cookie){$.cookie('sidebar_closed','1');}}
$(window).trigger('resize');});handleFixedSidebarHoverEffect();$('.page-sidebar').on('click','.sidebar-search .remove',function(e){e.preventDefault();$('.sidebar-search').removeClass("open");});$('.page-sidebar .sidebar-search').on('keypress','input.form-control',function(e){if(e.which==13){$('.sidebar-search').submit();return false;}});$('.sidebar-search .submit').on('click',function(e){e.preventDefault();if($('body').hasClass("page-sidebar-closed")){if($('.sidebar-search').hasClass('open')===false){if($('.page-sidebar-fixed').size()===1){$('.page-sidebar .sidebar-toggler').click();}
$('.sidebar-search').addClass("open");}else{$('.sidebar-search').submit();}}else{$('.sidebar-search').submit();}});if($('.sidebar-search').size()!==0){$('.sidebar-search .input-group').on('click',function(e){e.stopPropagation();});$('body').on('click',function(){if($('.sidebar-search').hasClass('open')){$('.sidebar-search').removeClass("open");}});}};var handleHeader=function(){$('.page-header').on('click','.search-form',function(e){$(this).addClass("open");$(this).find('.form-control').focus();$('.page-header .search-form .form-control').on('blur',function(e){$(this).closest('.search-form').removeClass("open");$(this).unbind("blur");});});$('.page-header').on('keypress','.hor-menu .search-form .form-control',function(e){if(e.which==13){$(this).closest('.search-form').submit();return false;}});$('.page-header').on('mousedown','.search-form.open .submit',function(e){e.preventDefault();e.stopPropagation();$(this).closest('.search-form').submit();});};var handleTabs=function(){$('body').on('shown.bs.tab','a[data-toggle="tab"]',function(){handleSidebarAndContentHeight();});};var handleGoTop=function(){var offset=300;var duration=500;if(navigator.userAgent.match(/iPhone|iPad|iPod/i)){$(window).bind("touchend touchcancel touchleave",function(e){if($(this).scrollTop()>offset){$('.scroll-to-top').fadeIn(duration);}else{$('.scroll-to-top').fadeOut(duration);}});}else{$(window).scroll(function(){if($(this).scrollTop()>offset){$('.scroll-to-top').fadeIn(duration);}else{$('.scroll-to-top').fadeOut(duration);}});}
$('.scroll-to-top').click(function(e){e.preventDefault();$('html, body').animate({scrollTop:0},duration);return false;});};var handle100HeightContent=function(){var target=$('.full-height-content');var height;if(!target.hasClass('portlet')){return;}
height=Metronic.getViewPort().height-
$('.page-header').outerHeight(true)-
$('.page-footer').outerHeight(true)-
$('.page-title').outerHeight(true)-
$('.page-bar').outerHeight(true);if($('body').hasClass('page-header-fixed')){height=height-$('.page-header').outerHeight(true);}
var portletBody=target.find('.portlet-body');if(Metronic.getViewPort().width<resBreakpointMd){Metronic.destroySlimScroll(portletBody.find('.full-height-content-body'));return;}
if(target.find('.portlet-title')){height=height-target.find('.portlet-title').outerHeight(true);}
height=height-parseInt(portletBody.css("padding-top"));height=height-parseInt(portletBody.css("padding-bottom"));if(target.hasClass("full-height-content-scrollable")){portletBody.find('.full-height-content-body').css('height',height);Metronic.initSlimScroll(portletBody.find('.full-height-content-body'));}else{portletBody.css('min-height',height);}};return{initHeader:function(){handleHeader();},setSidebarMenuActiveLink:function(mode,el){handleSidebarMenuActiveLink(mode,el);},initSidebar:function(){handleFixedSidebar();handleSidebarMenu();handleSidebarToggler();if(Metronic.isAngularJsApp()){handleSidebarMenuActiveLink('match');}
Metronic.addResizeHandler(handleFixedSidebar);},initContent:function(){handle100HeightContent();handleTabs();Metronic.addResizeHandler(handleSidebarAndContentHeight);Metronic.addResizeHandler(handle100HeightContent);},initFooter:function(){handleGoTop();//
},init:function(){this.initHeader();this.initSidebar();this.initContent();this.initFooter();},fixContentHeight:function(){handleSidebarAndContentHeight();},initFixedSidebarHoverEffect:function(){handleFixedSidebarHoverEffect();},initFixedSidebar:function(){handleFixedSidebar();},getLayoutImgPath:function(){return Metronic.getAssetsPath()+layoutImgPath;},getLayoutCssPath:function(){return Metronic.getAssetsPath()+layoutCssPath;}};}();