/**
 * 
 * jQuery P&G Menu Plugin
 * Copyright(c) 2008, VSA Partners, Inc.
 * http://www.vsapartners.com 
 * 
 * @author Ry Racherbaumer (rracherbaumer@vsapartners.com)
 * @version 0.1
 * 
 */
(function($) { $.fn.pgmenu = function(options) { var opts = $.extend({}, $.fn.pgmenu.defaults, options); return this.each(function() { var $this = $(this); var $li = $('li', $this); var $current = $('li.current', $this); var nocurrent = false; if ($current.length > 0) { var $currenta = $('a', $current); $current.css('background-image', 'none'); var hoverEl = $('<div />').addClass(opts.hoverClass).css({ left: $currenta.position().left, width: $currenta.width() + 8 }).appendTo($this); } else { var hoverEl = $('<div />').addClass(opts.hoverClass).css({ left: 0, width: 0, opacity: 0 }).appendTo($this); nocurrent = true; } $li.not('.current').bind('mouseenter', function() { var me = $('a', this); hoverEl.stop(); if (nocurrent === true && hoverEl.css('opacity') == 0) { hoverEl.css({ opacity: 1, left: me.position().left, width: me.width()+8 }); } else { hoverEl.animate({ opacity: 1, left: me.position().left, width: me.width()+8 }, opts.delay, opts.easing); } }); $li.not('.current').bind('mouseleave', function() { hoverEl.stop(); if (nocurrent === true) { hoverEl.animate({ opacity:0 }, 500); } else { hoverEl.animate({ left:$currenta.position().left, width:$currenta.width()+8 }, opts.delay, opts.easing); } }); }); }; $.fn.pgmenu.defaults = { hoverClass: 'hoverElement', easing: null, delay: 500 }; })(jQuery);