Liferay.Menu = new Class({
initialize: function(options) {
var instance = this;
instance._button = jQuery(options.button, options.context || document);
instance._menu = instance._button.find('ul:first');
instance._trigger = instance._button.find(options.trigger);
if (instance._menu.length) {
instance._run();
}
},
_run: function() {
var instance = this;
var lastLi = instance._trigger.find('ul:first li:last-child');
lastLi.addClass('last');
var off = function(event) {
instance._button.removeClass('visible');
}
var on = function(event) {
var trigger = jQuery(this);
var parent = trigger.parent();
if (parent.is('.visible')) {
parent.removeClass('visible');
}
else {
instance._button.removeClass('visible');
parent.addClass('visible');
}
jQuery(document).unbind('click.liferay').one(
'click.liferay',
off
);
var originalTarget = jQuery(event.originalTarget || event.srcElement);
if (!originalTarget.is('a') && !originalTarget.is('img')) {
return false;
}
};
instance._trigger.unbind('click.liferay').bind('click.liferay', on);
}
});