/*************** Déclaration des constantes ***************/
var CAC_POSGAUCHE = 0;		// à gauche
var CAC_POSDROITE = 1;		// à droite
var CAC_POSHAUT = 2;			// en haut
var CAC_POSBAS = 4;			// en bas

/*************** Gestion de la position des calques ***************/

function placeDivAt(calque, reference, pos)
{
	placeDivOn(calque, reference);
	
	var x = 0;
	var y = 0;
	
	var style = reference.style;
	if (style)
	{
		if ((CAC_POSDROITE & pos) != 0)
			x += xWidth (reference);
		
		if ((CAC_POSBAS & pos) != 0)
			y += xHeight (reference);

		moveCalque (calque, x, y);
	}
}

function placeDivOn(calque, reference)
{
	if (!reference || !calque)
		return;
		
	var gauche = xOffsetLeft (reference);
	var haut = xOffsetTop (reference);

	var p = xParent (reference, false);
	while (p)
	{
		gauche += xOffsetLeft (p);
		haut += xOffsetTop (p);
		p = xParent (p, false);
	}
	xMoveTo (calque, gauche, haut);
}

function moveCalque(calque, dx, dy)
{
	var x = xLeft (calque);
	var y = xTop (calque);
	
	xMoveTo (calque, x + dx, y + dy);
}
