//include css
PUtil.includeCss(PBase.prototype.baseDpUrl+'infobox.css');


var InfoBox = Class.create();
Object.extend(InfoBox.prototype, PBase.prototype);
Object.extend(InfoBox.prototype, {

	initialize: function(text, className, time)
	{
		PBase.prototype.initialize.bind(this)();

		this.text = text;
		this.className = className;
		this.time = time?time:2000;

		if (!InfoBox.prototype.container)
		{
			InfoBox.prototype.container = $(document.createElement('ul'));
			InfoBox.prototype.container.addClassName('p_infobox');
			document.body.appendChild(InfoBox.prototype.container);

			Event.observe(document.body, 'mousemove', InfoBox.prototype.onMouseMove);
			InfoBox.prototype.container.hide();
		}

		this.domBox = $(document.createElement('li'));
		this.domBox.update(text);
		this.domBox.addClassName(this.className);
		InfoBox.prototype.container.appendChild(this.domBox);

		setTimeout(this.remove.bind(this), this.time);
		this.onMouseMove();
		InfoBox.prototype.container.show();
		this.fixBorder();
	},

	onMouseMove: function()
	{
		InfoBox.prototype.container.setStyle({
			left: CursorPos.x+20+'px',
			top: CursorPos.y+'px'
		});
	},

	remove: function()
	{


		this.domBox.remove();
		this.fixBorder();
		if (!InfoBox.prototype.container.getElementsBySelector('li').length)
			InfoBox.prototype.container.hide();
	},

	fixBorder: function()
	{
		var lis = InfoBox.prototype.container.getElementsBySelector('li');
		for (var i = 0; i < lis.length; i++)
		{
			if (i == lis.length-1)
				lis[i].addClassName('last');
			else
				lis[i].removeClassName('last');
		}


	}


});
