/* jQuery underline addon */
(function($) {
	$.JQUnderline = {version: '0.1alpha'};
	$.fn.JQUnderline = function(params)
	{
	  return this.each(function()
	  {
		if ( $(this).css('text-indent').substr(0,1) == '-'
			|| $(this).hasClass('noJQUnderline') 
			|| $(this).hasClass('haveJQUnderline') 
			|| $(this).text() == '')
		{
			return;
		}
		
		var $this = $(this);
		var _options = {
				color: '#000000',
				width: 1,
				duration: 250,
				baseOpacity: 0.3,
				hoverOpacity: 1,
				underline: '<span class="JQUnderline"></span>'
		};
		var	options   = $.extend({}, _options, params);
		var running   = false;
		var underline = $(options.underline);
		
		$(this).addClass('haveJQUnderline');
		$this.addClass('JQBoxUnderline').append(underline);
		underline.addClass('JQUnderline');
		underline.css({'border-bottom': options.width + 'px solid '+options.color,
						opacity: 0});
		if ( $this.width() > 0 )
			underline.css({ width:  $this.width() + 'px' });
		else
			underline.css({ width:  '100%' });

		var callback = function( ) { running = false; };

		underline.animate({ opacity: options.baseOpacity }, {duration: options.duration} );

		$(this).hover(function()
		{
		  if (underline.queue().length < 2)
		  {
			underline.animate({ opacity: options.hoverOpacity }, {duration: options.duration});
		  }
		}, 
		function()
		{
			underline.animate({ opacity: options.baseOpacity }, {duration: options.duration} );
		});
	  });
	};
})(jQuery);
