var bubble_obj = null;
var bubble_id = 1;

function class_bubble(div_id,div_content,x_decal,y_decal)
{
	this.id = bubble_id++;
	this.debug_id = 0;
	this.div_id = div_id;				/* identifiant du bloc */
	this.content = div_content;			/* identifiant du bloc texte */

	this.div_posx = 0;				/* position x */
	this.div_posy = 0;				/* position y */
	
	this.x_decal = x_decal;
	this.y_decal = y_decal;
	
	this.div_width = 0;				/* largeur du bloc */
	this.div_height = 0;			/* hauteur du bloc */
	
	this.moving_timer = null;
	
	this.is_moving = false;				/* variable d'état - déplacement en cours ? */

	this.div_parent = null;
}

class_bubble.prototype.setup = function()
{
	this.div_parent = _div_getParent(this.div_id);
	//this.drawResized();
}

class_bubble.prototype.debug = function()
{
	div_setContent('debug',"width="+this.div_width+' height='+this.div_height);
	this.debug_id++;
}

class_bubble.prototype.rmove = function(byX,byY)
{
	this.div_posx += byX;
	this.div_posy += byY;
	//div_setContent(this.div_id,'x '+this.div_posx+' '+'y '+this.div_posy);
	this.draw();
}

class_bubble.prototype.move = function(posX,posY)
{
	this.div_posx = posX;
	this.div_posy = posY;
	//div_setContent(this.div_id,'x '+this.div_posx+' '+'y '+this.div_posy);
	this.draw();
}

class_bubble.prototype.draw = function()
{
	div_setParameter(this.div_id,'left',parseInt(this.div_posx)+"px");
   	div_setParameter(this.div_id,'top',parseInt(this.div_posy)+"px");
}

class_bubble.prototype.drawResized = function()
{
	_div_resize(this.div_id,this.div_width,this.div_height);
	
	div_setParameter(this.div_id,'left',parseInt(this.div_posx)+"px");
   	div_setParameter(this.div_id,'top',parseInt(this.div_posy)+"px");
}


class_bubble.prototype.appear = function(content)
{
	if(!this.is_moving && bubble_obj==null)
	{
		bubble_obj = this;

		div_setContent(this.content,content);
		this.moveAtMousePosition();
		this.moving_timer = setInterval( "bubble_obj.moveAtMousePosition()", 10);
		this.is_moving = true;	
		div_unhide(this.div_id);
	}
	else
	{
		//this.stopDrag();
	}
	
	//alert('commence le drag');
}


class_bubble.prototype.disappear = function()
{
	if( this.is_moving && bubble_obj!=null )
	{
		clearInterval(this.moving_timer);
		bubble_obj=null;
		this.is_moving = false;	
		div_hide(this.div_id);
	}
	else
	{
		//alert('erreur');
	}
}



class_bubble.prototype.startDrag = function()
{
	if(!this.is_moving && bubble_obj==null)
	{
		bubble_obj = this;

		this.moving_timer = setInterval( "bubble_obj.moveAtMousePosition()", 30);
		this.is_moving = true;	
	}
	else
	{
		//this.stopDrag();
	}
	
	//alert('commence le drag');
}

class_bubble.prototype.stopDrag = function()
{
	if( this.is_moving && bubble_obj!=null )
	{
		clearInterval(this.moving_timer);
		bubble_obj=null;
		this.is_moving = false;	
	}
	else
	{
		//alert('erreur');
	}
}



class_bubble.prototype.moveAtMousePosition = function()
{
	//alert(navigator.appName);

	if(navigator.appName == "Microsoft Internet Explorer")
	{
		this.move(mouse_x+this.x_decal,mouse_y+this.y_decal);
		
	}
	else
	{
		this.move(mouse_x-this.div_parent.offsetLeft+this.x_decal,mouse_y-this.div_parent.offsetTop+this.y_decal);
	}
	
	//div_setContent('debug',mouse_x+'  -  '+this.div_parent.offsetLeft);	
}





