function bookmark(url, title){
if (document.all)
window.external.AddFavorite(url, title);
else if (window.sidebar)
window.sidebar.addPanel(title, url, "")
}



var temps_de_chargement=0;
var chargement=0;
function start_check()
{
	d=new Date();
	temps_de_chargement=d.getTime();

}
function stop_check()
{
	d=new Date();
	chargement=d.getTime()-temps_de_chargement;
	
}


function change(img_name,img_src)
{
	document[img_name].src=img_src;
}


function HideCalque(nom) 
{
	if (document.all)
	{
		document.all[nom].style.visibility="hidden";
	}
	if (window.sidebar) 
	{
		document.getElementById(nom).style.visibility="hidden";
	}
	if (document.layers)
	{
		document.layers[nom].visibility="hide";
	}
}

function ShowCalque(nom) 
{
	if (document.all) 
	{
		document.all[nom].style.visibility="visible";
	}
	if (window.sidebar)
	{
		document.getElementById(nom).style.visibility="visible";
	}
	if (document.layers) 
	{
		document.layers[nom].visibility="show";
	}
}
function IsVisible(nom) 
{
	if (document.all) 
	{
		if(document.all[nom].style.visibility=="visible")
		return true;
	}
	if (window.sidebar)
	{
		if(document.getElementById(nom).style.visibility=="visible")
		return true;
	}
	if (document.layers) 
	{
		if(document.layers[nom].visibility=="show")
		return true;
	}
	return false;
}

function GetLeft(nom) 
{
	if (document.all) 
	{
		return parseInt(document.all[nom].style.left);
	}
	if (window.sidebar) 
	{
		return parseInt(document.getElementById(nom).style.left);
	}
	if (document.layers) 
	{
		return parseInt(document.layers[nom].left);
	}
}

function GetTop(nom) 
{
	if (document.all) 
	{
		return parseInt(document.all[nom].style.top);
	}
	if (window.sidebar) 
	{
		return parseInt(document.getElementById(nom).style.top);
	}
	if (document.layers) 
	{
		return parseInt(document.layers[nom].top);
	}
}

function GetWidth(nom) 
{
	if (document.all) 
	{
		return parseInt(document.all[nom].style.width);
	}
	if (window.sidebar) 
	{
		return parseInt(document.getElementById(nom).style.width);
	}
	if (document.layers) 
	{
		return parseInt(document.layers[nom].width);
	}
}

function SetWidth(nom,w) 
{
	if (document.all) 
	{
		document.all[nom].style.width=w;
	}
	if (window.sidebar) 
	{
		document.getElementById(nom).style.width=w;
	}
	if (document.layers) 
	{
		document.layers[nom].width=w;
	}
}

function GetHeight(nom) 
{
	if (document.all) 
	{
		return parseInt(document.all[nom].style.height);
	}
	if (window.sidebar) 
	{
		return parseInt(document.getElementById(nom).style.height);
	}
	if (document.layers) 
	{
		return parseInt(document.layers[nom].height);
	}
}

function SetHeight(nom,h) 
{
	if (document.all) 
	{
		document.all[nom].style.height=h;
	}
	if (window.sidebar) 
	{
		document.getElementById(nom).style.height=h;
	}
	if (document.layers) 
	{
		document.layers[nom].height=h;
	}
}

function GetContent(nom) 
{
	if (document.all) 
	{
		return document.all[nom].innerHTML;
	}
	if (window.sidebar) 
	{
		return document.getElementById(nom).innerHTML;
	}
	if (document.layers) 
	{
		return document.layers[nom].innerHTML;
	}
}

function SetContent(nom,value) 
{
	if (document.all) 
	{
		document.all[nom].innerHTML=value;
	}
	if (window.sidebar) 
	{
		document.getElementById(nom).innerHTML=value;
	}
	if (document.layers) 
	{
		document.layers[nom].innerHTML=value;
	}
}




function MoveCalque(nom,X,Y) 
{
	if (document.all)
	{
		document.all[nom].style.top=Y+'px';
		document.all[nom].style.left=X+'px';
	}
	if (window.sidebar)
	{
		document.getElementById(nom).style.top=Y+'px';
		document.getElementById(nom).style.left=X+'px';
	}
	if (document.layers)
	{
		document.layers[nom].top=Y+'px';
		document.layers[nom].left=X+'px';
	}
}

function GetPageWidth()
{
	if(document.all || document.layers)
		return parseInt(document.body.clientWidth);
	if(window.sidebar)
		return parseInt(window.innerWidth)-15;
	return 0;
}

function GetPageHeight()
{
	if(document.all || document.layers)
		return parseInt(document.body.clientHeight);
	if(window.sidebar)
		return parseInt(window.innerHeight)-10;
	return 0;
}
function CentrerCalque(nom,x)
{
		HideCalque(nom);
		MoveCalque(nom,(GetPageWidth()-GetWidth(nom))/2+x,GetTop(nom));
		ShowCalque(nom);		
}

var ttup= Array();
var ttdown= Array();
var ttleft= Array();
var ttright= Array();

var ttupR= Array();
var ttdownR= Array();
var ttleftR= Array();
var ttrightR= Array();

var speed_scroll_y=2;
var speed_scroll_x=2;
var speed_scroll=2;


function MoveCalqueTo(nom,dir,stop,delay)
{
	
	switch(dir)
	{
		case "up":
			
			if (GetTop(nom)>stop)
			{
				MoveCalque(nom,GetLeft(nom),GetTop(nom)-speed_scroll);
				ttup[nom]=setTimeout("MoveCalqueTo('"+nom+"','"+dir+"','"+stop+"','"+delay+"')",delay);
			}
			break;
		case "down":
			
			if (GetTop(nom)<stop)
			{
				MoveCalque(nom,GetLeft(nom),GetTop(nom)+speed_scroll);
				ttdown[nom]=setTimeout("MoveCalqueTo('"+nom+"','"+dir+"','"+stop+"','"+delay+"')",delay);
			}
			break;
		case "left":
			if (GetLeft(nom)>stop)
			{
				MoveCalque(nom,GetLeft(nom)-speed_scroll,GetTop(nom));
				ttleft[nom]=setTimeout("MoveCalqueTo('"+nom+"','"+dir+"','"+stop+"','"+delay+"')",delay);
			}
			break;
		case "right":
			if (GetLeft(nom)<stop)
			{
				MoveCalque(nom,GetLeft(nom)+speed_scroll,GetTop(nom));
				ttright[nom]=setTimeout("MoveCalqueTo('"+nom+"','"+dir+"','"+stop+"','"+delay+"')",delay);
			}
			break;
	}

}

function MoveCalqueRTo(nom,dir,stop,delay)
{
	
	switch(dir)
	{
		case "up":
			
			if (GetTop(nom)>stop)
			{
				speed_scroll_y=Math.abs(GetTop(nom)-stop)/2;
				MoveCalque(nom,GetLeft(nom),GetTop(nom)-speed_scroll_y);
				ttupR[nom]=setTimeout("MoveCalqueRTo('"+nom+"','"+dir+"','"+stop+"','"+delay+"')",delay);
			}
			break;
		case "down":
			
			if (GetTop(nom)<stop)
			{
				speed_scroll_y=Math.abs(GetTop(nom)-stop)/2;
				MoveCalque(nom,GetLeft(nom),GetTop(nom)+speed_scroll_y);
				ttdownR[nom]=setTimeout("MoveCalqueRTo('"+nom+"','"+dir+"','"+stop+"','"+delay+"')",delay);
			}
			break;
		case "left":
			if (GetLeft(nom)>stop)
			{
				speed_scroll_x=Math.abs(GetLeft(nom)-stop)/2;
				MoveCalque(nom,GetLeft(nom)-speed_scroll_x,GetTop(nom));
				ttleftR[nom]=setTimeout("MoveCalqueRTo('"+nom+"','"+dir+"','"+stop+"','"+delay+"')",delay);
			}
			break;
		case "right":
			if (GetLeft(nom)<stop)
			{
				speed_scroll_x=Math.abs(GetLeft(nom)-stop)/2;			
				MoveCalque(nom,GetLeft(nom)+speed_scroll_x,GetTop(nom));
				ttrightR[nom]=setTimeout("MoveCalqueRTo('"+nom+"','"+dir+"','"+stop+"','"+delay+"')",delay);
			}
			break;
	}

}

function StopMoveCalqueR(nom)
{
	if(ttupR[nom])
		clearTimeout(ttupR[nom]);
	if(ttdownR[nom])
		clearTimeout(ttdownR[nom]);
	if(ttrightR[nom])
		clearTimeout(ttrightR[nom]);
	if(ttleftR[nom])
		clearTimeout(ttleftR[nom]);
}

function StopMoveCalque(nom)
{
	if(ttup[nom])
		clearTimeout(ttup[nom]);
	if(ttdown[nom])
		clearTimeout(ttdown[nom]);
	if(ttright[nom])
		clearTimeout(ttright[nom]);
	if(ttleft[nom])
		clearTimeout(ttleft[nom]);
}

speed_auto_scroll=1;

function AutoScroll(nom,conteneur,delay)
{
	if (GetTop(nom)>GetHeight(nom)*(-1))
		{
			MoveCalque(nom,GetLeft(nom),GetTop(nom)-speed_auto_scroll);
			auto_scroll=setTimeout("AutoScroll('"+nom+"','"+conteneur+"','"+delay+"')",delay);
		}
	else
		{
			MoveCalque(nom,GetLeft(nom),GetHeight(conteneur));
			AutoScroll(nom,conteneur,delay);
		}
}



function StartStopAutoScroll(nom)
{
	if (speed_auto_scroll==1)
		speed_auto_scroll=0;
	else
		speed_auto_scroll=1;
}


//// Filtre sur calque et image

function SetFilters(nom,value)
{
	if (document.all)
		document.all[nom].style.filter=value;
	else
		{
			document.getElementById(nom).style.MozOpacity='100%';
			SetOpacity(nom,value);
		}
}



function GetOpacity(nom)
{
	if (document.all)
		return document.all[nom].filters.alpha.opacity;
	else
		{
			s=document.getElementById(nom).style.MozOpacity;
			return parseInt(s.replace('%',''));
		}
}

function SetOpacity(nom,value)
{
	if (document.all)
		document.all[nom].filters.alpha.opacity=value;
	else
		document.getElementById(nom).style.MozOpacity=value+"%";
}


function FadeIn(nom,delay)
{
	if (GetOpacity(nom)!=100)
	{
		setTimeout("FadeIn('"+nom+"','"+delay+"')",delay);
		SetOpacity(nom,GetOpacity(nom)+20);
	}
}

function FadeOut(nom,delay)
{
	if (GetOpacity(nom)!=0)
	{
		setTimeout("FadeOut('"+nom+"','"+delay+"')",delay);
		SetOpacity(nom,GetOpacity(nom)-20);
	}
}





//-----suite de calques
var CalqueActif=new Array();
var NbCalque=new Array();
var roll_calque=new Array();

function AddSerieCalque(nom,nb)
{
	CalqueActif[nom]=1;
	NbCalque[nom]=nb;
	roll_calque[nom]=false;
}

function ShowNextCalque(nom)
{
	HideCalque(nom+CalqueActif[nom]);
	if (CalqueActif[nom]<NbCalque[nom])
		CalqueActif[nom]++;
	else
		CalqueActif[nom]=1;
	ShowCalque(nom+CalqueActif[nom]);
}


function ShowNextCalqueF(nom)
{
	HideCalque(nom+CalqueActif[nom]);
	SetOpacity(nom+CalqueActif[nom],0);
	if (CalqueActif[nom]<NbCalque[nom])
		CalqueActif[nom]++;
	else
		CalqueActif[nom]=1;
	ShowCalque(nom+CalqueActif[nom]);
	FadeIn(nom+CalqueActif[nom]);
}

function ShowCalqueI(nom,indice)
{
	HideCalque(nom+CalqueActif[nom]);
	CalqueActif[nom]=indice;
	ShowCalque(nom+CalqueActif[nom]);
}

function HideAllCalque(nom)
{
	for(i=1;i<NbCalque[nom]+1;i++)
		HideCalque(nom+i);
}

function HideAllCalqueF(nom)
{
	for(i=1;i<NbCalque[nom]+1;i++)
	{
		HideCalque(nom+i);
		SetOpacity(nom+i,0);
	}
}


function ShowCalqueIF(nom,indice)
{
	HideCalque(nom+CalqueActif[nom]);
	SetOpacity(nom+CalqueActif[nom],0);
	CalqueActif[nom]=indice;
	ShowCalque(nom+CalqueActif[nom]);
	FadeIn(nom+CalqueActif[nom],4);
}

function ShowPreviousCalque(nom)
{
	HideCalque(nom+CalqueActif[nom]);
	if (CalqueActif[nom]>1)
		CalqueActif[nom]--;
	else
		CalqueActif[nom]=NbCalque[nom];
	ShowCalque(nom+CalqueActif[nom]);
}

function RollCalque(nom,delay)
{
	
	setTimeout("RollCalque('"+nom+"','"+delay+"')",delay);
	if (roll_calque[nom])
		ShowNextCalque(nom);
	
}

function RollCalqueF(nom,delay)
{
	
	setTimeout("RollCalqueF('"+nom+"','"+delay+"')",delay);
	if (roll_calque[nom])
		ShowNextCalqueF(nom);
	
}
function StartStopRollCalque(nom)
{
	if(roll_calque[nom])
		roll_calque[nom]=false;
	else
		roll_calque[nom]=true;
}
//-----------------------------------


///// images//-----suite d images

function ChangeImage(img_name,img_src)
{
	document[img_name].src=img_src;
}

var ListeImage=new Array();
var ImageActif=0;
var roll_image=false;
function AddImage(img)
{
	ListeImage[ListeImage.length]=img;
}

function ShowNextImage(nom)
{
	if (ImageActif<ListeImage.length-1)
		ImageActif++;
	else
		ImageActif=0;
	if (document.all)
	{
	if (document.all[nom].filters.revealtrans)	
	{
		document.all[nom].filters.revealtrans.stop()
		document.all[nom].filters.revealtrans.transition=Math.random()*20;
		document.all[nom].filters.revealtrans.apply()		
	}
	else
		if (document.all[nom].filters.blendtrans)	
		{
			document.all[nom].filters.blendtrans.stop()
			document.all[nom].filters.blendtrans.apply()		
		}
	
	ChangeImage(nom,ListeImage[ImageActif]);
	if (document.all[nom].filters.revealtrans)
		document.all[nom].filters.revealtrans.play()
	else
		if (document.all[nom].filters.blendtrans)
			document.all[nom].filters.blendtrans.play()
	}
	else
		ChangeImage(nom,ListeImage[ImageActif]);		
}

function ShowPreviousImage(nom)
{
	if (ImageActif>0)
		ImageActif--;
	else
		ImageActif=ListeImage.length-1;
	ChangeImage(nom,ListeImage[ImageActif]);
}

function RollImage(nom,delay)
{
	setTimeout("RollImage('"+nom+"','"+delay+"')",delay);
	if(roll_image)
		ShowNextImage(nom,delay);
}

function StartStopRollImage(nom,delay)
{
	if(roll_image)
		roll_image=false;
	else
		roll_image=true;
}
//-----------------------------------
var _msg =new Array();
var _msgActif=new Array();
var _msgIndice=new Array();

function AddMessage(i,$m)
{
	_msg[i]=$m;
	_msgActif[i]=0;
	_msgIndice[i]=0;
}

function TypingMessage(calque,delay)
{
	if(_msg[calque].substring(_msgIndice[calque],_msgIndice[calque]+1)!='$' && _msgIndice[calque]>=0)
		SetContent(calque,GetContent(calque)+_msg[calque].substring(_msgIndice[calque],_msgIndice[calque]+1));
	else
		SetContent(calque,GetContent(calque)+'<br>');
	if (_msgIndice[calque]<_msg[calque].length)
			_msgIndice[calque]++;
	else
	{
		_msgIndice[calque]=0;
		_msgActif[calque]=0;
		SetContent(calque,'');
	}
	setTimeout("TypingMessage('"+calque+"','"+delay+"')",delay);			
}

function StatusMessage()
{
	window.status=_msg['status'].substring(0,_msgIndice['status']+1);
	if (_msgIndice['status']<_msg['status'].length)
			_msgIndice['status']++;
	else
	{
		_msgIndice['status']=0;
		_msgActif['status']=0;
		window.status='';
	}
	setTimeout("StatusMessage()",80);			
}

//--------------------------------------------------------DRANGDROP

var c_drag=new Array();
var _ttdnd=new Array();

function drag_and_drop(calque)
{
	MoveCalque(calque,Xmm-23+document.body.scrollLeft,Ymm-12+document.body.scrollTop);
	window.status='Déplacement en cours ...';
	_ttdnd[calque]=setTimeout("drag_and_drop('"+calque+"');",50);
		

}

function init_dnd(calque)
{
	c_drag[calque]=0;
}


function start_dnd(calque)
{
	if(c_drag[calque]==1)
	{
		c_drag[calque]=0;
		clearTimeout(_ttdnd[calque]);
		window.status='Cliquez sur la main une fois pour attraper la fenêtre';
	}
	else
	{
		c_drag[calque]=1;
		window.status='Cliquez sur la main une fois pour déposer la fenêtre';
		drag_and_drop(calque);
	}
	
}




