function bubbleGrid()
{
	var obj = $L.object( this );

	obj.init = function()
	{
		obj._rowClick();
		obj._closerClick();
	}

	obj._rowClick = function()
	{
		$jq('div.row div.bubble a').click( function(){

			//  mark all bubbles for closing
			$jq('div.row div.bubble div.full').each( function(){
				$jq(this).attr('opened','false');
			});
		
			//  mark clicked bubble for opening
			var thisBubble = $jq(this).parent().children('div.full');
			thisBubble.attr('opened','true');

			//  obey each bubble's mark
			$jq('div.row div.bubble div.full').each( function(){
		
				if( $jq(this).attr('opened')=='true' ) {
					$jq(this).fadeIn('fast');
		
				} else {
					$jq(this).fadeOut('fast');
				}
		
			});

			return false;
		});
	}

	obj._closerClick = function()
	{
		$jq('div.bubble div.full img.close').click( function(){
			var thisBubble = $jq(this).parent();
			thisBubble.attr('opened','false');
			thisBubble.fadeOut('fast');
		});
		return false;
	}

	return obj;
}
