File: /var/www/vhost/disk-apps/magento.bikenow.co/vendor/magento/module-theme/view/frontend/web/menu.js
/**
* Copyright © Magento, Inc. All rights reserved.
* See COPYING.txt for license details.
*/
/**
* Simple Navigation with replacing old handlers.
*
* @param {String} id - id of ul element with navigation lists
* @param {Object} settings - object with settings
*/
/**
* global mainNav
*
* @deprecated
* @see lib/web/mage/menu.js
*/
define([
'prototype'
], function () {
'use strict';
/**
* Main nav.
*/
window.mainNav = function () {
var main = {
'obj_nav': $(arguments[0]) || $('nav'),
settings: {
'show_delay': 0,
'hide_delay': 0,
_ie6: /MSIE 6.+Win/.test(navigator.userAgent),
_ie7: /MSIE 7.+Win/.test(navigator.userAgent)
},
/**
* @param {Object} obj
* @param {*} level
*/
init: function (obj, level) {
obj.lists = obj.childElements();
obj.lists.each(function (el, ind) {
main.handlNavElement(el);
if ((main.settings._ie6 || main.settings._ie7) && level) {
main.ieFixZIndex(el, ind, obj.lists.size());
}
});
if (main.settings._ie6 && !level) {
document.execCommand('BackgroundImageCache', false, true);
}
},
/**
* @param {Object} list
*/
handlNavElement: function (list) {
if (list !== undefined) {
/**
* On mouse over.
*/
list.onmouseover = function () {
main.fireNavEvent(this, true);
};
/**
* On mouse out.
*/
list.onmouseout = function () {
main.fireNavEvent(this, false);
};
if (list.down('ul')) {
main.init(list.down('ul'), true);
}
}
},
/**
* @param {HTMLElement} el
* @param {*} i
* @param {*} l
*/
ieFixZIndex: function (el, i, l) {
if (el.tagName.toString().toLowerCase().indexOf('iframe') == -1) { //eslint-disable-line eqeqeq
el.style.zIndex = l - i;
} else {
el.onmouseover = 'null';
el.onmouseout = 'null';
}
},
/**
* @param {Object} elm
* @param {*} ev
*/
fireNavEvent: function (elm, ev) {
if (ev) {
elm.addClassName('over');
elm.down('a').addClassName('over');
if (elm.childElements()[1]) {
main.show(elm.childElements()[1]);
}
} else {
elm.removeClassName('over');
elm.down('a').removeClassName('over');
if (elm.childElements()[1]) {
main.hide(elm.childElements()[1]);
}
}
},
/**
* @param {Object} subElm
*/
show: function (subElm) {
if (subElm['hide_time_id']) {
clearTimeout(subElm['hide_time_id']);
}
subElm['show_time_id'] = setTimeout(function () {
if (!subElm.hasClassName('shown-sub')) {
subElm.addClassName('shown-sub');
}
}, main.settings['show_delay']);
},
/**
* @param {Object} subElm
*/
hide: function (subElm) {
if (subElm['show_time_id']) {
clearTimeout(subElm['show_time_id']);
}
subElm['hide_time_id'] = setTimeout(function () {
if (subElm.hasClassName('shown-sub')) {
subElm.removeClassName('shown-sub');
}
}, main.settings['hide_delay']);
}
};
if (arguments[1]) {
main.settings = Object.extend(main.settings, arguments[1]);
}
if (main['obj_nav']) {
main.init(main['obj_nav'], false);
}
};
document.observe('dom:loaded', function () {
//run navigation without delays and with default id="#nav"
//mainNav();
//run navigation with delays
window.mainNav('nav', {
'show_delay': '100',
'hide_delay': '100'
});
});
});