//-------------------------------------------------------
	function cSwapImages(iLastImageNumber, sPathToImages, bWithLayer, bGif)
	{
		this.pArrayOfImages = new Array();
		this.pLastImageNumber = iLastImageNumber;
		this.pPathToImages = sPathToImages;
		this.pWithLayer = bWithLayer;
		this.pGif = bGif;
		this.pImageType = null;
		this.pException1 = null;
		this.pException2 = null;
	
		this.mLoadImages = fLoadImages;
		this.mSwapImages = fSwapImages;
		this.mSwapImagesWithLayer = fSwapImagesWithLayer;
		this.mRandomSwap = fRandomSwap;
		this.mDetermineImageType = fDetermineImageType;
		this.mSwapManager = fSwapManager;
	}
//-----------	
	function fSwapImagesWithLayer(sHtmlImageName, iImageNumber, sLayerName)
	{
		if (navigator.appName == "Netscape")
		{
			eval("document." + sLayerName + ".document." + sHtmlImageName + ".src = this.pArrayOfImages[" + iImageNumber + "].src");
		}
		else
		{
			eval("document." + sHtmlImageName + ".src = this.pArrayOfImages[" + iImageNumber + "].src");
		}
	}
//-----------	
	function fLoadImages()
	{
		if (this.pGif)
		{
			for (x = 0; x <= this.pLastImageNumber; x++)
			{
				this.pArrayOfImages[x] = new Image();
				this.pArrayOfImages[x].src = this.pPathToImages + "/" + x + ".gif";
			}
		}
		else
		{
			for (x = 0; x <= this.pLastImageNumber; x++)
			{
				this.pArrayOfImages[x] = new Image();
				this.pArrayOfImages[x].src = this.pPathToImages + "/" + x + ".jpg";
			}
		}
	}
//-----------
	function fSwapImages(sHtmlImageName, iImageNumber, sLayerName)
	{
		if (this.pException1 == iImageNumber || this.pException2 == iImageNumber){ return; }
		
		if (this.pWithLayer == false)
		{
			eval("document." + sHtmlImageName + ".src = this.pArrayOfImages[" + iImageNumber + "].src");
		}
		else
		{
			this.mSwapImagesWithLayer(sHtmlImageName, iImageNumber, sLayerName);
		}	
	}
//-------------------------------------------------------
	function fSwapManager(aImageOverAndOut, aHtmlImageName, aImagesClicked, aImagesRestore, aLayerNames, iTargetInArray)
	{
		for (x = 0; x < aHtmlImageName.length; x++)
		{
			this.mSwapImagesWithLayer(aHtmlImageName[x], aImagesRestore[x], aLayerNames[x]);
		}
		
		this.pException1 = aImageOverAndOut[0];
		this.pException2 = aImageOverAndOut[1];
		this.mSwapImagesWithLayer(aHtmlImageName[iTargetInArray], aImagesClicked[iTargetInArray], aLayerNames[iTargetInArray]);
	}
//-------------------------------------------------------
	function fRandomSwap(sHtmlImageName, sLayerName)
	{
		var hasard = Math.round(Math.random() * this.pLastImageNumber);
		this.mDetermineImageType();
		var concatenation = this.pPathToImages + '/' + hasard + this.pImageType;
		if (navigator.appName == "Netscape")
		{
			eval("document." + sLayerName + ".document." + sHtmlImageName + ".src = concatenation");
		}
		else
		{
			eval("document." + sHtmlImageName + ".src = concatenation");
		}
		return hasard;
	}
//-------------------------------------------------------
	function fDetermineImageType()
	{
		if (this.pGif)
		{
			this.pImageType = ".gif";
		}
		else
		{
			this.pImageType = ".jpg";
		}
	}
//-------------------------------------------------------

/*

<script src = "oSwapImages.js" language="JavaScript"><!--/ Version 5 /--></script>
<script language="JavaScript"><!-- 
//-------------------------------------------------------

	// Details d'utilisation

	// var oSwapImages = new cSwapImages(iLastImageNumber, sPathToImages, bWithLayer, bGif);
	// oSwapImages.mLoadImages();
	// oSwapImages.mSwapImages(sHtmlImageName, iImageNumber, sLayerName);
	// oSwapImages.mRandomSwap(sHtmlImageName, sLayerName);
	// oSwapImages.mSwapManager(aImageOverAndOut, aHtmlImageName, aImagesClicked, aImagesRestore, aLayerNames, iTargetInArray);

//-------------------------------------------------------
//--></script>
*/