////////////////////////////////////////////////////////////////////////////////////
// FONCTIONS GENERALES
////////////////////////////////////////////////////////////////////////////////////




// Détection du type de navigateur
var ns4 = (document.layers)? true:false;
var ns6 = (document.getElementById)? true:false;
var ie_all = (document.all)? true:false;
var ie4 = (document.all)? true:false;
var ie5 = (document.all)? true:false;
var ie6 = (document.all)? true:false;




//---------------------------------------------------------------------------------------
// NOM FONCTION : document_modifier_texte
// DESCRIPTION COURTE :	
//		modifie le texte d'une page
// DESCRIPTION :	
//		modifie le texte d'une page
// ENTREES :
//		@objet (object_document) : objet page
//		@texte (string) : texte à mettre dans la page
// NECESSITES :
//		le document doit exister
// SORTIES :
//		aucune
// VALEURS DE RETOUR :	
//		* 0 : aucune erreur
// AUTEUR : DANIEL Eric
// DERNIERE MODIF : 28/02/2005
// ETAT : ok
// RESTE A FAIRE : 
// REMARQUES : 
// VOIR AUSSI : 
//---------------------------------------------------------------------------------------
function document_modifier_texte( objet, texte )
{
	// -----------
	// traitements
	// -----------
	objet.document.open();
	objet.document.write( texte );
	objet.document.close();


	// ---------------------
	// sortie de la fonction
	// ---------------------
	return 0;
}




////////////////////////////////////////////////////////////////////////////////////
// FONCTIONS DE GESTION DES EVENEMENTS
////////////////////////////////////////////////////////////////////////////////////

// Si activé, empêche l'utilisation du bouton droit par le navigateur.
var monopoliser_bouton_droit = false;

// Capture les évènements
if( ( ns4 )||( ie_all )||( ns6 ) )
	{
	document.onmousemove = souris_xy;
	document.onmousedown = souris_bouton_appuye;
	document.onmouseup = souris_bouton_relache;
	if( monopoliser_bouton_droit )
		document.oncontextmenu = neutraliser_evenement; 
	if( ns4 )
		{
		document.captureEvents( Event.MOUSEMOVE );
		document.captureEvents( Event.MOUSEDOWN );
		document.captureEvents( Event.MOUSEUP );
		}
	}

// Position X de la souris
var souris_x = 0;
// Position Y de la souris
var souris_y = 0;
// Etat des boutons
var souris_b = 0;
// Dernier état activé des boutons
var souris_b_active = 0;




//---------------------------------------------------------------------------------------
// NOM FONCTION : souris_xy
// DESCRIPTION COURTE :	
//		met à jour les coordonnées de la souris
// DESCRIPTION :	
//		met à jour automatiquement les coordonnées de la souris
// ENTREES :
//		@e (object_event) : objet évènement fourni par le navigateur
// NECESSITES :
//		aucune
// SORTIES :
//		aucune
// VALEURS DE RETOUR :	
//		* 0 : aucune erreur
// AUTEUR : DANIEL Eric
// DERNIERE MODIF : 28/02/2005
// ETAT : ok
// RESTE A FAIRE : 
// REMARQUES : 
// VOIR AUSSI : 
//---------------------------------------------------------------------------------------
function souris_xy(e)
{
	// -----------
	// traitements
	// -----------
	if( ie4 )
		{
		souris_x = event.x;
		souris_y = event.y;
		}
	else if( ( ie5 ) || ( ie6 ) )
		{
		souris_x = event.x + document.body.scrollLeft;
		souris_y = event.y + document.body.scrollTop;
		}
	else if( ( ns4 ) || ( ns6 ) )
		{
		souris_x = e.pageX;
		souris_y = e.pageY;
		}


	// ---------------------
	// sortie de la fonction
	// ---------------------
	return 0;
}




//---------------------------------------------------------------------------------------
// NOM FONCTION : souris_bouton_appuye
// DESCRIPTION COURTE :	
//		met à jour automatiquement l'état des boutons
// DESCRIPTION :	
//		met à jour automatiquement l'état des boutons
// ENTREES :
//		@evenement (object_event) : objet évènement fourni par le navigateur
// NECESSITES :
//		aucune
// SORTIES :
//		aucune
// VALEURS DE RETOUR :	
//		* true : aucune erreur
// AUTEUR : DANIEL Eric
// DERNIERE MODIF : 28/02/2005
// ETAT : ok
// RESTE A FAIRE : 
// REMARQUES : 
// VOIR AUSSI : 
//---------------------------------------------------------------------------------------
function souris_bouton_appuye( evenement )
{
	// -----------
	// traitements
	// -----------
	if( ie_all )
		souris_b = event.button;
	else if( ( ns4 ) || ( ns6 ) )
		souris_b = evenement.which;

	souris_b_active = souris_b;


	// ---------------------
	// sortie de la fonction
	// ---------------------
	return true;
}




//---------------------------------------------------------------------------------------
// NOM FONCTION : souris_bouton_relache
// DESCRIPTION COURTE :	
//		met à jour automatiquement l'état des boutons
// DESCRIPTION :	
//		met à jour automatiquement l'état des boutons
// ENTREES :
//		@evenement (object_event) : objet évènement fourni par le navigateur
// NECESSITES :
//		aucune
// SORTIES :
//		aucune
// VALEURS DE RETOUR :	
//		* true : aucune erreur
// AUTEUR : DANIEL Eric
// DERNIERE MODIF : 28/02/2005
// ETAT : ok
// RESTE A FAIRE : 
// REMARQUES : 
// VOIR AUSSI : 
//---------------------------------------------------------------------------------------
function souris_bouton_relache( evenement )
{
	// -----------
	// traitements
	// -----------
	souris_b = 0;
	

	// ---------------------
	// sortie de la fonction
	// ---------------------
	return true;
}




//---------------------------------------------------------------------------------------
// NOM FONCTION : neutraliser_evenement
// DESCRIPTION COURTE :	
//		fonction qui ne fait rien pour remplacer des fonctions de gestion des événements
// DESCRIPTION :	
//		fonction qui ne fait rien pour remplacer des fonctions de gestion des événements
// ENTREES :
//		aucune
// NECESSITES :
//		aucune
// SORTIES :
//		aucune
// VALEURS DE RETOUR :	
//		* false : aucune erreur
// AUTEUR : DANIEL Eric
// DERNIERE MODIF : 28/02/2005
// ETAT : ok
// RESTE A FAIRE : 
// REMARQUES : 
// VOIR AUSSI : 
//---------------------------------------------------------------------------------------
function neutraliser_evenement()
{
	// ---------------------
	// sortie de la fonction
	// ---------------------
	return false;
}




////////////////////////////////////////////////////////////////////////////////////
// FONCTIONS DE GESTION DES OBJETS
////////////////////////////////////////////////////////////////////////////////////
//---------------------------------------------------------------------------------------
// NOM FONCTION : lire_offset_x
// DESCRIPTION COURTE :	
//		lit la position x d'un objet
// DESCRIPTION :	
//		lit la position x d'un objet
// ENTREES :
//		@objet (objet_html) : pointeur sur un objet de type HTML
// NECESSITES :
//		l'objet doit être défini
// SORTIES :
//		aucune
// VALEURS DE RETOUR :	
//		* (int) : position x
// AUTEUR : DANIEL Eric
// DERNIERE MODIF : 18/03/2005
// ETAT : ok
// RESTE A FAIRE : 
// REMARQUES : 
// VOIR AUSSI : 
//---------------------------------------------------------------------------------------
function lire_offset_x( objet )
{
	// --------------
	// initialisation
	// --------------
	var objet_en_cours = objet;
	var offset_x = 0;
	

	// -----------
	// traitements
	// -----------
	while( objet_en_cours.nodeName != "BODY" )
		{
		offset_x += objet_en_cours.offsetLeft;
		objet_en_cours = objet_en_cours.offsetParent;
		}


	// ---------------------
	// sortie de la fonction
	// ---------------------
	return offset_x;
}




//---------------------------------------------------------------------------------------
// NOM FONCTION : lire_offset_y
// DESCRIPTION COURTE :	
//		lit la position y d'un objet
// DESCRIPTION :	
//		lit la position y d'un objet
// ENTREES :
//		@objet (objet_html) : pointeur sur un objet de type HTML
// NECESSITES :
//		l'objet doit être défini
// SORTIES :
//		aucune
// VALEURS DE RETOUR :	
//		* (int) : position x
// AUTEUR : DANIEL Eric
// DERNIERE MODIF : 18/03/2005
// ETAT : ok
// RESTE A FAIRE : 
// REMARQUES : 
// VOIR AUSSI : 
//---------------------------------------------------------------------------------------
function lire_offset_y( objet )
{
	// --------------
	// initialisation
	// --------------
	var objet_en_cours = objet;
	var offset_y = objet_en_cours.offsetHeight;
	

	// -----------
	// traitements
	// -----------
	while( objet_en_cours.nodeName != "BODY" )
		{
		offset_y += objet_en_cours.offsetTop;
		objet_en_cours = objet_en_cours.offsetParent;
		}


	// ---------------------
	// sortie de la fonction
	// ---------------------
	return offset_y;
}




// -------------------
// programme principal
// -------------------
if( typeof( top.info_chargement ) != "undefined" )
	if( top.info_chargement["lib"] != true )
		{
		top.info_chargement["nombre_js"]++;
		top.info_chargement["lib"] = true;
		}
