//===
// Fonctions de gestion des images en rollover
//===

//---
// Préchargement des images
//---

function rolloverPreloadImages()
{
	var doc = document;
	if (doc.images) {
		if (!doc.preload) {
			doc.preload = new Array();
		}
		var i;
		var j = doc.preload.length;
		var a = rolloverPreloadImages.arguments;
		for (i = 0; i < a.length; i++) {
			if (a[i].indexOf("#") != 0) {
				doc.preload[j] = new Image;
				doc.preload[j++].src = a[i];
			}
		}
	}
}

//---
// Restaurer une image d'origine (avant rollover)
//---

function rolloverSwapImageRestore()
{
	var i;
	var x;
	var a = document.swapRestore;
	for (i = 0; a && i < a.length && (x = a[i]) && x.oSrc; i++) {
		x.src = x.oSrc;
	}
}

//---
// Identification d'un objet de document
//---

function rolloverFindObject(n, doc)
{
	var p;
	var i;
	var x;
	if (!doc) {
		doc=document;
	}
	if ((p=n.indexOf("?")) > 0 && parent.frames.length) {
		doc = parent.frames[n.substring(p + 1)].document;
		n = n.substring(0,p);
	}
	if (!(x = doc[n]) && doc.all) {
		x = doc.all[n];
	}
	for (i = 0; !x && i < doc.forms.length; i++) {
		x = doc.forms[i][n];
	}
	for (i = 0; !x && doc.layers && i < doc.layers.length; i++) {
		x = rolloverFindObject(n, doc.layers[i].document);
	}
	if (!x && doc.getElementById) {
		x = doc.getElementById(n);
	}
	return x;
}

//---
// Remplacer une image sur rollover
//---

function rolloverSwapImage()
{
	var i;
	var j = 0;
	var x;
	var a = rolloverSwapImage.arguments;
	document.swapRestore = new Array;
	for (i = 0; i < (a.length - 2); i += 3)
	if ((x = rolloverFindObject(a[i])) != null) {
		document.swapRestore[j++] = x;
		if(!x.oSrc) {
			x.oSrc = x.src;
		}
		x.src = a[i + 2];
	}
}
