Liferay.Menu = new Class({
initialize: function(params) {
var instance = this;
instance._button = jQuery(params.button, params.context || document);
instance._menu = instance._button.find('ul:first');
instance._trigger = instance._button.find(params.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().one(
'click',
off
);
var originalTarget = jQuery(event.originalTarget || event.srcElement);
if (!originalTarget.is('a') && !originalTarget.is('img')) {
return false;
}
};
instance._trigger.unbind().click(on);
}
});