var Balloon = {
	register: function(identifier, options) {
		if (options.clickmode != undefined) {
			$(identifier).click(function(e){
				var div = $('.balloon');
				var close = $('<a href="#" class="close">Close</a>');

				if (options.contentCallback != undefined) {
					div.html(options.contentCallback(div));
				}

				if (options.width   == undefined) { options.width = '200px'; }
				if (options.offsetX == undefined) { options.offsetX = 10; }
				if (options.offsetY == undefined) { options.offsetY = 25; }

				div.css({
					top:e.pageY+options.offsetY,
					left:e.pageX+options.offsetX,
					display:'block',
					width:options.width
				});
				
				if (options.css != undefined) {
					div.css(options.css);
				}

				div.append(close);
				close.wrap('<div class="close"></div>');
				close.click(function(){
					div.css({display:'none'});
					$(this).remove();
					return false;
				});

				return false;
			});
		} else {
			$(identifier).hover(function(e){
				$('.balloon').css({top: e.pageY+25, left: e.pageX+10, display:'block'});
			}, function(e) {
				$('.balloon').css({display:'none'});
			});
			
			$(identifier).mousemove(function(e){
				$('.balloon').css({top: e.pageY+25, left: e.pageX+10});
			});
		}

	},

	set: function(content) {
		$(".balloon").text(content);
	}
}