var $dasidebar, $daouter, $damain;
$('document').ready(function(){
$dasidebar = $('#dasidebar');
$daouter = $('#daouter');
$damain = $('#damain');
/* in mobile,. the menu ALWAYS starts hidden */
if($(document).width() <= 768){
menushown = false;
}
var scrollpos = $.cookie('scrollpos');
if(scrollpos){
$dasidebar.scrollTop(scrollpos);
}
$dasidebar.scroll(function(){
var scrollpos = $dasidebar.scrollTop();
$.cookie('scrollpos' , scrollpos , { expires: 7, path: '/' });
return true;
});
$dasidebar.find('a').on('touchstart mouseup' , function(){
var scrollpos = $('#dasidebar').scrollTop();
$.cookie('scrollpos' , scrollpos , { expires: 7, path: '/' });
return true;
});
$('#dasidebarbutton').on('touchstart mouseup' , function(e){
e.preventDefault();
menuToggle();
return false;
});
initMenuHoverHandler();
});
function initMenuHoverHandler(){
$('body').on('mouseenter' , '#dasidebar ul li' , function(e){
if($('body').hasClass('navcompact')){
$('#dasidebarhover').remove();
$('.submenuopen').removeClass('submenuopen');
if($(this).children('ul').length > 0){
$(this).addClass('submenuopen');
var pos = $(this).offset();
var $dasidebarhover = $('
')
.appendTo('body')
.css('padding-top' , pos.top + 'px')
.html('')
.on('mouseleave' , function(e){
$(this).remove();
$('.submenuopen').removeClass('submenuopen');
});
// if goes off bottom of screen add scrollbars
if(pos.top + $dasidebarhover.outerHeight() > $(window).height()) {
$dasidebarhover
.css({
'bottom': '0px',
'overflow': 'auto',
'padding-bottom': '30px'
});
}
$damain.mouseenter(function() {
$dasidebarhover.remove();
$('.submenuopen').removeClass('submenuopen');
});
}
}
});
}
function menuToggle() {
$('#dasidebarhover').remove();
var $body = $('body');
var menucookie = 1;
if($body.hasClass('navshown') || $body.hasClass('navpreshown')){
$body.removeClass('navshown');
$body.removeClass('navpreshown');
$body.addClass('navcompact');
menucookie = 0;
} else {
$body.addClass('navshown');
$body.removeClass('navcompact');
menucookie = 1;
}
/*
var duration = 'fast';
var menuwidth = 220;
var closedwidth = 40;
if(!parseInt($dasidebar.css('left').replace('px', ''))){
$damain.animate({
'left' : closedwidth + 'px' ,
'right' : '0'
} ,
duration ,
function() {
$(window).trigger('resize');
$daouter.removeClass('navshown');
$daouter.addClass('navcompact');
//initMenuHoverHandler();
}
);
$dasidebar.animate({
'left' : '-' + (menuwidth - closedwidth) + 'px'
} ,
duration
);
menushown = false;
menucookie = 0;
$daouter.removeClass('forceshown');
} else {
var right = 0;
if($(window).width() < 800){
right = 0 - menuwidth;
}
var ifleft = menuwidth + 22
var ifright = right + 20
$damain.animate({
'left' : menuwidth + 'px' ,
'right' : right + 'px'
} ,
duration ,
function() {
$(window).trigger('resize');
$daouter.addClass('navshown');
$daouter.removeClass('navcompact');
//initMenuHoverHandler();
}
);
$dasidebar.animate({
'left' : '0px'
} ,
duration
);
menushown = true;
menucookie = 1;
$daouter.addClass('forceshown');
}
//$.cookie('uiSliderOpen' , menucookie , { expires: 7, path: '/' });
*/
setUserPreference('showsidebar' , menucookie);
};