Liferay.Dock = {init: function() {var instance = this;var dock = jQuery('.lfr-dock');if (!dock.is('.interactive-mode')) {return;}dock.addClass('lfr-component');var dockList = dock.find('.lfr-dock-list');if (dockList.length > 0){var myPlaces = jQuery('.my-places', dock);Liferay.Util.createFlyouts({container: dockList[0],mouseOver: function(event) {if (this.className.indexOf('my-places') > -1) {jQuery('.current-community > ul', this).show();}else if (this.parentNode.className.indexOf('taglib-my-places') > -1) {jQuery('ul', this.parentNode).hide();jQuery('> ul', this).show();}}});dockList.find('li:first-child, a:first-child').addClass('first');dockList.find('li:last-child, a:last-child').addClass('last');instance._dock = dock;instance._dockList = dockList;instance._myPlaces = myPlaces;dockList.hide();dockList.wrap('<div class="lfr-dock-list-container"></div>');dock.css({cursor: 'pointer',position: 'absolute',zIndex: Liferay.zIndex.DOCK});var dockOver = function(event) {instance._setCloser();instance._toggle('show');};var dockOut = function(event) {instance._toggle('hide');};dock.hoverIntent({interval: 0,out: dockOut,over: dockOver,timeout: 500});if (Liferay.Browser.is_ie && Liferay.Browser.version() <= 6) {myPlaces.find('> ul').css('zoom', 1);}var dockParent = dock.parent();dockParent.css({position: 'relative',zIndex: Liferay.zIndex.DOCK_PARENT});instance._handleDebug();}},_handleDebug: function() {var instance = this;var dock = instance._dock;var dockList = instance._dockList;var myPlacesList = instance._myPlaces.find('> ul');if (dock.is('.debug')) {dock.show();dockList.show();dockList.addClass('expanded');}},_setCloser: function() {var instance = this;if (!instance._hovered) {jQuery(document).one('click',function(event) {var currentEl = jQuery(event.target);var dockParent = currentEl.parents('.lfr-dock');if ((dockParent.length == 0) && !currentEl.is('.lfr-dock')) {instance._toggle('hide');instance._hovered = false;}});instance._hovered = true;}},_toggle: function(state) {var instance = this;var dock = instance._dock;var dockList = instance._dockList;if (state == 'hide') {dockList.hide();dock.removeClass('expanded');}else if (state == 'show') {dockList.show();dock.addClass('expanded');}else {dockList.toggle();dock.toggleClass('expanded');}},_hovered: false};