Balloon = {
	container: null,

	create: function() {
		if( Balloon.container ) {
			return;
		}

		Balloon.container = new DIV('Balloon', "main_map");
		Balloon.container.create(0, 0, 500, 50);
		var html = "<div id='Balloon_top'>" +
				   "<div id='Balloon_face_container'><img id='Balloon_face' src='' /></div>" +
				   "<div id='Balloon_title'></div>" +
				   "<div id='Balloon_text'></div>" +
				   "</div>" +
				   "<div id='Balloon_bottom'></div>";
		Balloon.container.setText(html);
	},

	show: function(x, y, text, nick, photo, is_comment) {
		if( !Balloon.container ) {
			Balloon.create();
		}

		photo = photo || 'http://me2day.net/images/user/ideapool/profile.gif';

		var bg = is_comment ? 'url("image/balloon_read_sgray.gif")' : 'url("image/balloon_read_sblack.gif")';
		var border = is_comment ? 'solid 1px #666666' : "solid 1px #000000";
		var bgcolor = is_comment ? '#666666' : '#000000';
		var color = '#ffffff'; //'#000000';
		var font = '9pt verdana';
		var padding = YAHOO.util.Event.isIE ? '7px' : '7px';

		var size = getTextSize(text, font, '150%', 350);
		if( size.width == 350 ) {
			size = getTextSize(text, font, '150%', 300);
		}
		size.width = Math.max(200, size.width + 60);
		size.height = Math.max(60 - 6, size.height + 30);
		size.width += YAHOO.util.Event.isIE ? 16 : 0;
		size.height += YAHOO.util.Event.isIE ? 15 : 0;

		var inner_width = (YAHOO.util.Event.isIE ? size.width - 76 : size.width - 60) + 6;
		if( text ) {
			YAHOO.util.Dom.setStyle('Balloon_text', 'float', "left");
			YAHOO.util.Dom.setStyle('Balloon_text', 'font', font);
			YAHOO.util.Dom.setStyle('Balloon_text', 'color', color);
			YAHOO.util.Dom.setStyle('Balloon_text', 'lineHeight', "150%");
			YAHOO.util.Dom.setStyle('Balloon_text', 'width', inner_width + 'px');
			YAHOO.util.Dom.get('Balloon_text').innerHTML = text;
		}
		if( photo ) {
			YAHOO.util.Dom.setStyle('Balloon_face_container', 'display', 'block');
			YAHOO.util.Dom.get('Balloon_face').src = photo;
		}
		if( nick ) {
			YAHOO.util.Dom.setStyle('Balloon_title', 'float', 'left');
			YAHOO.util.Dom.setStyle('Balloon_title', 'color', color);
			YAHOO.util.Dom.setStyle('Balloon_title', 'borderBottom', 'solid 1px ' + color);
			YAHOO.util.Dom.setStyle('Balloon_title', 'display', 'block');
			YAHOO.util.Dom.setStyle('Balloon_title', 'width', inner_width + 'px');
			YAHOO.util.Dom.get('Balloon_title').innerHTML = nick;
		}

		size.width += 7; // photoframe.margin-right

		YAHOO.util.Dom.setStyle('Balloon_top', 'background', bgcolor);
		YAHOO.util.Dom.setStyle('Balloon_top', 'color', color);
		YAHOO.util.Dom.setStyle('Balloon_top', 'padding', padding);
		YAHOO.util.Dom.setStyle('Balloon_top', 'border', border);
		YAHOO.util.Dom.setStyle('Balloon_top', 'borderBottom', "none");
		YAHOO.util.Dom.setStyle('Balloon_top', 'width', size.width + 'px');
		YAHOO.util.Dom.setStyle('Balloon_top', 'height', size.height + 'px');

		var w = YAHOO.util.Event.isIE ? size.width : size.width + 16;
		var h = YAHOO.util.Event.isIE ? size.height + 15 : size.height + 15 + 13;
		var x = YAHOO.util.Event.isIE ? x : x;
		var y = YAHOO.util.Event.isIE ? y : y - 1;
		Balloon.container.setXYWH(x, y - 10 - h, w, h);

		YAHOO.util.Dom.setStyle('Balloon_bottom', 'background', bg);

		Balloon.container.show();
	},

	showID: function(x, y, text, is_comment) {
		if( !Balloon.container ) {
			Balloon.create();
		}
		YAHOO.util.Dom.setStyle('Balloon_face_container', 'display', 'none');
		YAHOO.util.Dom.setStyle('Balloon_title', 'display', 'none');
		YAHOO.util.Dom.setStyle('Balloon_text', 'float', "left");

		var bg = is_comment ? 'url("image/balloon_read_sgray.gif")' : 'url("image/balloon_read_sblack.gif")';
		var border = is_comment ? 'solid 1px #666666' : "solid 1px #000000";
		var bgcolor = is_comment ? '#666666' : '#000000';
		var color = '#ffffff'; //'#000000';
		var font = '8pt verdana';
		var padding = YAHOO.util.Event.isIE ? '7px' : '7px';
		//var padding = YAHOO.util.Event.isIE ? '5px 5px 2px 5px' : '5px';

		var size = getTextSize(text, font, '150%', 350);
		if( size.width == 350 ) {
			size = getTextSize(text, font, '150%', 300);
		}
		size.width += YAHOO.util.Event.isIE ? 16 : 0;
		size.height += YAHOO.util.Event.isIE ? 15 : 0;

		YAHOO.util.Dom.setStyle('Balloon_text', 'font', font);
		YAHOO.util.Dom.setStyle('Balloon_text', 'width', size.width + 'px');
		YAHOO.util.Dom.setStyle('Balloon_text', 'lineHeight', "150%");
		YAHOO.util.Dom.get('Balloon_text').innerHTML = text;

		YAHOO.util.Dom.setStyle('Balloon_top', 'background', bgcolor);
		YAHOO.util.Dom.setStyle('Balloon_top', 'color', color);
		YAHOO.util.Dom.setStyle('Balloon_top', 'padding', padding);
		YAHOO.util.Dom.setStyle('Balloon_top', 'border', border);
		YAHOO.util.Dom.setStyle('Balloon_top', 'borderBottom', "none");
		YAHOO.util.Dom.setStyle('Balloon_top', 'width', size.width + 'px');
		YAHOO.util.Dom.setStyle('Balloon_top', 'height', size.height + 'px');

		var w = YAHOO.util.Event.isIE ? size.width : size.width + 16;
		var h = YAHOO.util.Event.isIE ? size.height + 15 : size.height + 15 + 13;
		var x = YAHOO.util.Event.isIE ? x : x;
		var y = YAHOO.util.Event.isIE ? y : y - 1;
		Balloon.container.setXYWH(x, y - 10 - h, w, h);

		YAHOO.util.Dom.setStyle('Balloon_bottom', 'background', bg);

		Balloon.container.show();
	},

	hide: function() {
		if( !Balloon.container ) {
			Balloon.create();
		}

		Balloon.container.hide();
	}
};
