//----------------------------------------------------------------------------------------------------------
//              Fonction déterminant les propriétés de l'objet et ses méthodes
//----------------------------------------------------------------------------------------------------------

  function cSwapImages(sPathToImages,bGif,bWithLayer)
 {

 	this.pPathToImages=sPathToImages;                       		// string : le chemin vers les images
 	this.pGif=bGif;                       							// booléen : l'image est-elle de format gif
	this.pType=null; 												// booléen : le type de l'image est-il défini
	this.pWithLayer=bWithLayer;                  					 // booléen : l'image se situe-elle sur une layer
	
	this.mDetermineImageType= fDetermineImageType; 			 		// méthode déterminant le type d'image
	this.mLoadImagesByName= fLoadImagesByName;     		 			// méthode téléchargeant les images
	this.mSwapByName=fSwapByName;             						// méthode changeant les images
	this.mLayerSwapForNets4=fLayerSwapForNets4;						// méthode changeant les images pour Netscape4
	
	this.mDetermineImageType();						// appel de la méthode qui détermine le type d"images 	
 }
 
//----------------------------------------------------------------------------------------------------------
//                      Fonction changeant les images pour Netscape4        
//----------------------------------------------------------------------------------------------------------

   function fLayerSwapForNets4(sHtmlImageName,sImageName,sLayerName)
 {
 	// redéfini les sources des images avec des layers
 	eval("document." +sLayerName +".document." + sHtmlImageName).src=eval(sImageName).src;	
 }
 
//----------------------------------------------------------------------------------------------------------
//                      Fonction changeant les images         
//----------------------------------------------------------------------------------------------------------


 function fSwapByName(sHtmlImageName,sImageName,sLayerName)
 {
 
 	// si le document contient des layers
 	if(this.pWithLayer && document.layers)
	{	
		// redéfini les sources des images avec des layers
		this.mLayerSwapForNets4(sHtmlImageName,sImageName,sLayerName);	
	 }
	 
	 else 
	 // redéfini les sources des images
	{
	
		// pour Explorer
	      if (document.all)
		{
			eval("document."+ sHtmlImageName).src=eval(sImageName).src;
		}
		
		// si le nom de la layer est vide (donc pas de layer)
		else  if (sLayerName== "")
		{
			eval("document."+ sHtmlImageName).src = eval(sImageName).src;
		}
		
		// si il y a des layers (pour Netscape)
		else
		{
			eval("document." + sLayerName + ".document."+ sHtmlImageName).src = eval(sImageName).src;
		}
	
	 }	
 }
//----------------------------------------------------------------------------------------------------------
//                      Fonction déterminant le type d'image            
//----------------------------------------------------------------------------------------------------------

 function fDetermineImageType()
 {
 	// si le type format de l'image est de type gif
	 if (this.pGif)
	 
	 	// alors le type est .gif
		 {
		this.pType=".gif"
		 }
		 
		 // sinon le type est .jpg
		 else
		 {
		  this.pType=".jpg"
		 }
 }

 //----------------------------------------------------------------------------------------------------------
//                      Fonction téléchargeant les images          
//----------------------------------------------------------------------------------------------------------

function fLoadImagesByName(asNameOfImages)
	{
	
		// répète dans le tableau des images
		for(x in asNameOfImages)
		
		{
		// création d,une nouvelle image à chaque position dans le tableau
		 eval(asNameOfImages[x] + " = new Image()");


		// si le chemin vers les images n'est pas vide
		if(this.pPathToImages!="")
		
			{
			// la source des images est redéfinie selon ce chemin et le type d'image	 
				 eval(asNameOfImages[x]).src = this.pPathToImages+ "/" +asNameOfImages[x] + this.pType						
			}
		
		else
			{
			// sinon la source des images reste la même qu'elle était 		 
				 eval(asNameOfImages[x]).src = asNameOfImages[x] +this.pType						
			}
	}
 }
 
//----------------------------------------------------------------------------------------------------------
//                                      Détails d'utilisation
//----------------------------------------------------------------------------------------------------------

/*

<script language="JavaScript" src="../../scripts/scripts/oSwapImage.js"> <!--Version1//--> </script >
<script language = "JavaScript">

<!--
//-----------------------------------Détails  d'utilisation-----------------------------------------------------------

// var oSwapImages=new cSwapImages(sPathToImages,bGif,bWithLayer);
// oSwapImages.mLoadImagesByName([asNameOfImages])
 // oSwapImages.mSwapByName(sHtmlImageName,sImageName,sLayerName)

//-->
</script>

*/


