//////////////////////////////
// IMAGES
//////////////////////////////
function preloadImages()
{
	var loadedImages = new Array;
	for (i=0; i < preloadImages.arguments.length; i++)
	{
		loadedImages[i] = new Image();
		loadedImages[i].src = preloadImages.arguments[i];
	}
}
function swapImage(targetImage, newImageSrc)
{
	if(document.images)
	{
		if (targetImage && targetImage.src)
		{
			targetImage.src = newImageSrc;
		}
	}
}

//////////////////////////////
// EFFETS sur DIV
//////////////////////////////
// constantes
var LEFT=0		// sens R to L
var RIGHT=1		// sens L to R
var UP=0		// sens D to U
var DOWN=1		// sens U to D
var STOP=0		// stop scroll
var LOOP=1		// loop scroll
var REVERT=2	// ping-pong scroll
var UNDEF=-1	// undefined

var DivObjects = new Array
var NbObjects = 0

function DivObject(object)
{
	this.name=object
	this.pt=0
	this.pl=0
}
function initDivObject(object,inittop,initleft)
{
	var dob = new DivObject(object)
	DivObjects[NbObjects] = dob
	dob.pt = inittop
	dob.pl = initleft
	if (document.all) {var OID = eval("document.all."+dob.name+".style"); OID.posTop = inittop; OID.posLeft = initleft}
	if (document.layers) {var OID = eval("document."+dob.name); OID.top = inittop; OID.left = initleft}
	NbObjects++
}
function getOID (object)
{
	for (var i=0; i<NbObjects; i++)
	{
		if (DivObjects[i].name==object)
		{
			return DivObjects[i]
		}
	}
	return UNDEF
}
	
// attention au sens : si UP alors endtop < begintop; sinon endtop > begintop;
// attention au sens : si LEFT alors endtop < begintop; sinon endtop > begintop;
function scrollDivObject(object,begintop,endtop,topstep,vdir,beginleft,endleft,leftstep,hdir,timeout,mode)
{
	var dob = getOID(object)
	if (dob==UNDEF) {alert("Error ! Div Object '"+object+"'does not exist."); return false}
	if (mode==REVERT)
	{
		if (dob.pt == endtop)
		{
			endtop = begintop
			begintop = dob.pt
			vdir = (vdir==UP) ? DOWN : UP
		}
		if (dob.pl == endleft)
		{
			endleft = beginleft
			beginleft = dob.pl
			hdir = (hdir==LEFT) ? RIGHT : LEFT
		}
	}
	if (vdir==UP)	dob.pt = (dob.pt > endtop) ? (dob.pt - topstep) : ((mode==STOP) ? endtop : begintop)
	else		dob.pt = (dob.pt < endtop) ? (dob.pt + topstep) : ((mode==STOP) ? endtop : begintop)
	if (hdir==LEFT)	dob.pl = (dob.pl > endleft) ? (dob.pl - leftstep) : ((mode==STOP) ? endleft : beginleft)
	else		dob.pl = (dob.pl < endleft) ? (dob.pl + leftstep) : ((mode==STOP) ? endleft : beginleft)
	if (document.all) {var OID = eval("document.all."+dob.name+".style"); OID.posTop = dob.pt; OID.posLeft = dob.pl}
	if (document.layers) {document.eval(object).top = dob.pt; document.eval(object).left = dob.pl}
	setTimeout('scrollDivObject(\"'+object+'\",'+begintop+','+endtop+','+topstep+','+vdir+','+beginleft+','+endleft+','+leftstep+','+hdir+','+timeout+','+mode+')',timeout)

}

// Utilisation :
// -----------
// déclarer un style pour les objet div, ou un style par objet
// 
//<STYLE>
//.styleobjetdiv {
//	position: absolute;
//	font-family:Verdana;
//	color:DDDDDD;
//	font-size:10px; 
//	letter-spacing:1; 
//}
//.styleobjetdiv2 {
//	position: absolute;
//	font-family:Verdana;
//	color:DDDDDD;
//	font-size:10px; 
//	letter-spacing:1; 
//}
//</STYLE>
//
// déclarer un script de load dans le head
//
//<HEAD>
//<SCRIPT SRC="effets.js"></SCRIPT>
//<SCRIPT>
//function doOnLoad()
//{
//	initDivObject("objet1",300,0)
//	initDivObject("objet2",0,0)
//	initDivObject("objet3",100,100)
//	scrollDivObject("objet1",0,0,300,100,DOWN,RIGHT,1,1,20,STOP)
//	scrollDivObject("objet2",300,600,0,-200,UP,LEFT,2,2,5,LOOP)
//	scrollDivObject("objet3",100,100,200,200,DOWN,RIGHT,2,2,10,REVERT)
//}
//</SCRIPT>
//</HEAD>
//
// et l'appeler dans le body
//<BODY onLoad="doOnLoad()">
//
// déclarer le ou les objet div
//
//<div id="objet1" class="styleobjetdiv">
//<P>on peut mettre ici ce qu'on veut : texte, images, etc.</P>
//</div>
//<div id="objet2" class="styleobjetdiv2">
//<P>on peut mettre ici aussi ce qu'on veut : texte, images, etc.</P>
//</div>
//<div id="objet3" class="styleobjetdiv">
//<P>on peut mettre ici encore ce qu'on veut : texte, images, etc.</P>
//</div>
//</BODY>
