//          ________
//          |/\/\/\|
//          | o o  |
//-----oOOO---(_---OOOo---------------------------------------------------------------------------------------
//
// Auteur      : Chanh T.Do [Thoransoft - 2008.06.01]
// Description : fichier contenant les fonctions pour effectuer des floating DIV
// JScript File
//------------------------------------------------------------------------------------------------------------

/**
* @fileOverview
  floatLayer.js [JScript File]: <br>
  Scripts de fonctions utilisées pour faire flotter des DIV sur une page <br>
  @author: Chanh T.Do [www.thoransoft.com - 2008.06.01] <br>
  Version 1.0 <br> */
  
/** Variable pour tester le navigateur */
var ns = (navigator.appName.indexOf("Netscape") != -1);

/** Variable pour indiquer un document */
var d = document;


/** Fonction permettant de mettre un div en float sur la page.
    @param {string} id - Contient l'ID du DIV
    @param {int} sx - Contient la position des x du DIV
    @param {int} sy - Contient la position des y du DIV */
function floatdiv(id, sx, sy)
{
	var el=d.getElementById?d.getElementById(id):d.all?d.all[id]:d.layers[id];
	var px = document.layers ? "" : "px";
	window[id + "_obj"] = el;
	
	if(d.layers) { el.style=el; }
	
	el.cx = el.sx = sx;
	el.cy = el.sy = sy;
	el.sP = function(x,y) { this.style.left = x + px; this.style.top = y + px; };

	el.floatIt = function()
	{
	    var pX, pY;
	    pX = (this.sx >= 0) ? 0 : ns ? innerWidth : 
		document.documentElement && document.documentElement.clientWidth ? 
		document.documentElement.clientWidth : document.body.clientWidth;
		pY = ns ? pageYOffset : document.documentElement && document.documentElement.scrollTop ? 
		document.documentElement.scrollTop : document.body.scrollTop;
		if(this.sy<0) 
		pY += ns ? innerHeight : document.documentElement && document.documentElement.clientHeight ? 
		document.documentElement.clientHeight : document.body.clientHeight;
		
		this.cx += (pX + this.sx - this.cx)/8;this.cy += (pY + this.sy - this.cy)/8;
		this.sP(this.cx, this.cy);
		setTimeout(this.id + "_obj.floatIt()", 40);     //On peut augmenter la vitesse en la passant en paramètre
	}
	return el;
}


/** Fonction permettant de détacher le timer 
    @param {string} id - Contient le ID du div à détacher
    */
function detach(id)
{
   document.getElementById(id).style.position = 'absolute';
}