
  
  
StructSlide.tab_slide = new Array();
StructSlide.top_slide = 1;

StructSlide.slide_time = 200;
StructSlide.slide_base = 20;



function StructSlide(id,tps, dirX, dirY,auto,autotps)
{

	if (tps==null)	tps = 20;
	if (dirX==null)	dirX = "";	// par defaut uniquement VERTICAL
	if (dirY==null)	dirY = "+";	// par defaut VERTICAL
	if (auto==null)	auto = true;	// replie automatique
	if (autotps==null)	autotps = 2000;	// temps d'attente du replie automatique
	
	this.id = id;
	this.div = document.getElementById(id);
document.getElementById("dropper").innerHTML+=">>>>>>>StructSlide : "+this.id+"<<<<<<<br>";

	this.timer = null;		// scroll
	this.tps = tps;			// scroll

	this.opened = false;		//fermé
	this.over = false;		//out

	this.dirX = dirX;
	this.dirY = dirY;
	this.auto = auto;		
	this.autotps = autotps;		
	this.autotimer = null;		


	this.posX = parseInt(this.div.style.left);		// position d'usage
	this.posY = parseInt(this.div.style.top);		// position d'usage
//document.getElementById("dropper").innerHTML+=this.posX+"x"+this.posY+"<br>";




	// Décalage en fonction de la direction
	if (this.dirX=="+")
		this.div.style.left = -this.div.offsetWidth;
	if (this.dirY=="+")
		this.div.style.top = -this.div.offsetHeight;

	this.posIX = parseInt(this.div.style.left);		// position d'usage initiale
	this.posIY = parseInt(this.div.style.top);		// position d'usage initiale

//document.getElementById("dropper").innerHTML+=this.posIX+"x"+this.posIY+"<br>";

	this.scrollX = (this.posX-this.posIX)/StructSlide.slide_base;
	this.scrollY = (this.posY-this.posIY)/StructSlide.slide_base;

	

	// reference globale à l'objet
	this.gRef = "StructSlide_"+id
	eval(this.gRef+"=this")



	this.div.onmouseover = new Function("StructSlide.askshow('" + this.id + "',true)");
	this.div.onmouseout = new Function("StructSlide.askhide('" + this.id + "',true)");
	
	this.startSlide = 0;
	
	StructSlide.tab_slide[id] = this;
	
	return this;
}
  
  

StructSlide.prototype.SlideIn = function()
{
	if((parseInt(this.div.style.top) < this.posY)||(parseInt(this.div.style.left) < this.posX))
	{
		if(parseInt(this.div.style.top) < this.posY)
		{
			if (parseInt(this.div.style.top)+this.scrollY >= this.posY)
				this.div.style.top = this.posY;
			else
				this.div.style.top = parseInt(this.div.style.top) + this.scrollY;
		}
		if(parseInt(this.div.style.left) < this.posX)
		{
			if (parseInt(this.div.style.left)+this.scrollX >= this.posX)
				this.div.style.left = this.posX;
			else
				this.div.style.left = parseInt(this.div.style.left) + this.scrollX;
		}
	}
	else
	{
		clearInterval(this.timer);
		if (!this.over)
			this.autotimer = setTimeout("StructSlide.hide('"+this.id+"')",this.autotps);
	}
}

StructSlide.prototype.SlideOut = function()
{
	if((parseInt(this.div.style.left) > this.posIX)||(parseInt(this.div.style.top) > this.posIY))
	{
		if(parseInt(this.div.style.top) > this.posIY)
		{
			if (parseInt(this.div.style.top)-this.scrollY <= this.posIY)
				this.div.style.top = this.posIY;
			else
				this.div.style.top = parseInt(this.div.style.top) - this.scrollY;
		}
		if(parseInt(this.div.style.left) > this.posIX)
		{
			if (parseInt(this.div.style.left)-this.scrollX <= this.posIX)
				this.div.style.left = this.posIX;
			else
				this.div.style.left = parseInt(this.div.style.left) - this.scrollX;
		}
	}
	else
	{
		clearInterval(this.timer);
	}
}

   
   
StructSlide.askhide = function(divid)
{
	var obj = StructSlide.tab_slide[divid];
	obj.over=false;
	if (obj.autotimer)
		clearTimeout(obj.autotimer);
	obj.autotimer = setTimeout("StructSlide.hide('"+obj.id+"')",obj.autotps);
}   
StructSlide.hide = function(divid)
{
	var obj = StructSlide.tab_slide[divid];
	if (obj.opened)
	{	
		obj.opened = false;
		if (obj.timer)
			clearInterval(obj.timer);
		obj.timer = setInterval(obj.gRef+".SlideOut()",obj.tps);
	}
}   



StructSlide.askshow = function(divid,over)
{
	var obj = StructSlide.tab_slide[divid];

	obj.startSlide = (new Date()).getTime()		
//document.getElementById("dropper").innerHTML+="obj.startSlide : " + obj.startSlide + "<br>";

	obj.over = over;
	StructSlide.show(obj.id);
}   

StructSlide.show = function(divid)
{
	var obj = StructSlide.tab_slide[divid];
	
	
	StructSlide.top_slide++;
	obj.div.style.zIndex = StructSlide.top_slide;
	if (!obj.opened)
	{
		obj.opened = true;
		if (obj.timer)
			clearInterval(obj.timer);
		obj.timer = setInterval(obj.gRef+".SlideIn()",obj.tps);
	}
	if (obj.autotimer)
		clearTimeout(obj.autotimer);
}   
   
   
   

  



function initSlides(menuname,pospre,decX,decY)
{

//document.getElementById(menuname).style.left = 125;
//document.getElementById(menuname).style.top = 380;
	// position du slider englobant
document.getElementById("dropper").innerHTML+=">>>>>>>initSlides<<<<<<<<<br>";

	if (pospre)
	{
		if (!decX)	decX=0;
		if (!decY)	decY=0;
		
		baseX = getOffsetPosition(document.getElementById(menuname),'Left');
		baseY = getOffsetPosition(document.getElementById(menuname),'Top');

document.getElementById("dropper").innerHTML+=">>>>>>>>position de l'englobant------------baseX=" + baseX + "----baseY="+baseY+"<br>";

		var lesmenus = document.getElementById(menuname).getElementsByTagName("DIV");
		for (i = 0; i < lesmenus.length; i++)
		{
			x = getOffsetPosition(document.getElementById(pospre + lesmenus[i].id),'Left');
			y = getOffsetPosition(document.getElementById(pospre + lesmenus[i].id),'Top');

document.getElementById("dropper").innerHTML+=">>>>>position de l'image " + pospre + lesmenus[i].id+"-------------x=" + x + "----y="+y+"<br>";
			newX = x-baseX;
			newY = y-baseY;
document.getElementById("dropper").innerHTML+=">newX=" + newX + "----newY="+newY+"<br>";
			// positionnement dans l'ENGLOBANT
			lesmenus[i].style.left=newX+decX;
			lesmenus[i].style.top=newY+decY;
document.getElementById("dropper").innerHTML+=">>>>>> nouvelle position de "+lesmenus[i].id+"=" + lesmenus[i].style.left + "x"+lesmenus[i].style.top+"<br>";
		}
	}
	sliderInit(menuname);
}


function sliderInit(menuname)
{
document.getElementById("dropper").innerHTML+="<br>>>>>>>>sliderInit<<<<<<<<<br>";

	var x, y, L, H;
	var maxX = 0, minX=10000;
	var maxY = 0, minY=10000;
	var initX,initY;					// position initiale de l'englobant
	var decalX = 0;
	var decalY = 0;
	
	initX = getOffsetPosition(document.getElementById(menuname),'Left');
	initY = getOffsetPosition(document.getElementById(menuname),'Top');
document.getElementById("dropper").innerHTML+=">>>>>>>>position de l'englobant------------initX=" + initX + "----initY="+initY+"<br>";
	
	//CALCUL DE LA TAILLE D'AFFICHAGE MAXIMALE
	var lesmenus = document.getElementById(menuname).getElementsByTagName("DIV");
	for (i = 0; i < lesmenus.length; i++)
	{
		//initialisation des variables pour les DIV englobés
		if(!lesmenus[i].style.left) lesmenus[i].style.left=0;
		if(!lesmenus[i].style.top) lesmenus[i].style.top=0;
		
		x = getOffsetPosition(lesmenus[i],'Left');
		y = getOffsetPosition(lesmenus[i],'Top');
		L = lesmenus[i].offsetWidth;
		H = lesmenus[i].offsetHeight;
document.getElementById("dropper").innerHTML+=">>>"+lesmenus[i].id+">>>>> = " + x + "x"+y+"----"+L+"x"+H+"<br>";

		if (maxX<(x+L))	maxX=x+L;
		if (maxY<(y+H))	maxY=y+H;
		if (minX>x)	minX=x;
		if (minY>y)	minY=y;
	}

document.getElementById("dropper").innerHTML+=">>>>>>>>maxXY = " + maxX + "x"+maxY+"<br>";
document.getElementById("dropper").innerHTML+=">>>>>>>>minXY = " + minX + "x"+minY+"<br>";


	// dimentionnement de l'ENGLOBANT
	document.getElementById(menuname).style.width = maxX-minX;
	document.getElementById(menuname).style.height = maxY-minY;
document.getElementById("dropper").innerHTML+=">>>>>>>>dimension de l'englobant = " + document.getElementById(menuname).style.width + "x"+document.getElementById(menuname).style.height+"<br>";
	//Calcul du décalage à apporter à l'englobant
	decalX = minX-initX;
	decalY = minY-initY;
document.getElementById("dropper").innerHTML+=">>>décalage = " + decalX + "x"+decalY+"<br>";


//	document.getElementById(menuname).style.left = initX+decalX;
//	document.getElementById(menuname).style.top = initY+decalY;

	//DECALAGE DE TOUS LES ELEMENTS SLIDER_MENU
	for (j = 0; j < lesmenus.length; j++)
	{
//document.getElementById("dropper").innerHTML=">décalage>"+lesmenus[j].id+"<br>";
		
		lesmenus[j].style.left = parseInt(lesmenus[j].style.left)-decalX;
		lesmenus[j].style.top = parseInt(lesmenus[j].style.top)-decalY;
	}
	
	
}




function InitStructSlide(englobant)
{
	var lesmenus = document.getElementById(englobant).getElementsByTagName("DIV");
	for (j = 0; j < lesmenus.length; j++)
	{
		document.getElementById("dropper").innerHTML+=lesmenus[j].id+"<br>";
		//function StructSlide(id,tps, dirX, dirY,auto,autotps)
		new StructSlide(lesmenus[j].id,20,'+','');
	}
}




