/* AUTEUR: Paulet */
/* Date de création: 06/09/2005 
Voir http://www.dynamicdrive.com (Image Thumbnail Viewer - FF1 (FireFox)+ IE5+ Opr7+)
Voir http://developpeur.journaldunet.com/tutoriel/dht/030930js_galerieauto1a.shtml
Voir http://javascriptfr.com/code.aspx?id=24785
*/
/*Déclaration des variables globales à mettre avant le "HEAD"
<SCRIPT>
var nbrImg = 18; //Nombre d'image à afficher
var dossier = "images/assemblage_cellule"; //Dossier où elles se trouvent
var format = "jpg"; //Format des images
var color = "#FFD565";//Couleur du titre "diaporama"
var titre = document.title;//titre du document à afficher dans la fenêtre de visualisation des images
</SCRIPT>

A mettre tout de suite après le "BODY" à l'endroit où doit apparaître la fenêtre
<DIV id="affichage_image"></DIV>

A mettre tout de suite après le "BODY" à l'endroit où doivent apparaître les contrôles
<SCRIPT>
			affichage_controles();;
</SCRIPT>
*/
//-------------------------------------------------------------------
var img = new Array(nbrImg); 	//Tableau des images
var compteur = -1; 						//Numéro de la première image (l'array démarre à l'image[0]
var ie=document.all;
var ns6=document.getElementById&&!document.all;
var defimgwidth = 600; 				//Largeur du cadre d'affichage des images
var defimgheight = 600; 			//Hauteur du cadre d'affichage des images
var mess="";
var color="#FFD565";
var pourcentage=0;
var pourcentageBarre=0;
var which="";
//-------------------------------------------------------------------
// Mise en place des contrôles
function affichage_controles(){
					mess+=('<FORM NAME="formulaire">');
					mess+=('<FONT SIZE=4 FACE="Arial" COLOR='+color+'>Diaporama : </FONT>');
					mess+=('<INPUT TYPE="hidden" VALUE="'+delai+'" MAXLENGTH="1" NAME="delai" CLASS="noir" SIZE="1">');
					mess+=('<INPUT TYPE=button VALUE=" > " NAME=lanceDefil onClick="defil();">&nbsp;&nbsp;');
					mess+=('<INPUT TYPE=button VALUE=" = " NAME=finDefil onClick="stopDefil();" DISABLED>');
					mess+=('<FONT SIZE=2 FACE="Arial" COLOR='+color+'><I>&nbsp;(Une image/2sec)</I></FONT>');
					mess+=('</FORM>');
					document.write(mess);
}
//-------------------------------------------------------------------
function ietruebody(){
					return (document.compatMode && document.compatMode!="BackCompat" && !window.opera)? document.documentElement : document.body;
}
//-------------------------------------------------------------------
function enlarge(which, position, imgwidth, imgheight){
				//alert("ok");
				if (imgwidth==null) imgwidth=defimgwidth;
				if (imgheight==null) imgheight=defimgheight;
				//alert(ns6);
				if (ie||ns6){
								//alert(titre);
								if (titre=="Menu"){
												crossobj=document.getElementById? parent.document.getElementById("affichage_image") : parent.document.all.affichage_image;
								}
								else{
												crossobj=document.getElementById? document.getElementById("affichage_image") : document.all.affichage_image;
								}
								if (position=="center"){
												pgyoffset=ns6? parseInt(pageYOffset) : parseInt(ietruebody().scrollTop);
												horzpos=ns6? pageXOffset+window.innerWidth/2-imgwidth/2 : ietruebody().scrollLeft+ietruebody().clientWidth/2-imgwidth/2;
												vertpos=ns6? pgyoffset+window.innerHeight/2-imgheight/2 : pgyoffset+ietruebody().clientHeight/2-imgheight/2;
												// -----------------------------------------------------
												if (window.opera && window.innerHeight) 
																vertpos=pgyoffset+window.innerHeight/2-imgheight/2;
																vertpos=Math.max(pgyoffset, vertpos);
								}
								else{
												var horzpos=ns6? pageXOffset+event.clientX : ietruebody().scrollLeft+event.clientX;
												var vertpos=ns6? pageYOffset+event.clientY : ietruebody().scrollTop+event.clientY;
								}
								var titre_calque=titre;
								if (titre=="Menu"){
												horzpos=((screen.width-imgwidth)/2-10);
												vertpos=100;
								}
								crossobj.style.left=horzpos+"px";
								crossobj.style.top=vertpos+"px";
								//alert(which+" - "+e+" - "+position+" - "+imgwidth+" - "+imgheight+" - "+titre+" - "+crossobj.style.left+" - "+crossobj.style.top);
								// - Affichage barre de titre -------------------------------
								crossobj.innerHTML='<DIV ID="dragbar" ALIGN="right"><FONT SIZE="1" FACE="verdana"><CENTER><FONT SIZE=3 COLOR="#FF0000"><B><I>'+titre_calque+'</I></B></FONT></CENTER><SPAN ID="closetext" onClick="closepreview()">Fermer</SPAN></FONT></DIV><IMG onClick="closepreview()" SRC="'+which+'">';
								crossobj.zIndex=50;
								crossobj.style.visibility="visible";
								return false;
				}
				else
								return true;
}
//-------------------------------------------------------------------
//- Fermer de la fenêtre de visualisation ---------------------------
function closepreview(){
				crossobj.style.visibility="hidden";
				stopDefil(); // arrêter le diaporama
}
//-------------------------------------------------------------------
//- Déplacer de la fenêtre de visualisation -------------------------
function drag_drop(e){
				if (ie&&dragapproved){
								crossobj.style.left=tempx+event.clientX-offsetx+"px";
								crossobj.style.top=tempy+event.clientY-offsety+"px";
				}
				else if (ns6&&dragapproved){
								crossobj.style.left=tempx+e.clientX-offsetx+"px";
								crossobj.style.top=tempy+e.clientY-offsety+"px";
				}
				return false;
}
// ------------------------------------------------------------------
//- Initialiser le déplacement de la fenêtre de visualisation -------
function initializedrag(e){
				if (ie&&event.srcElement.id=="dragbar"||ns6&&e.target.id=="dragbar"){
								offsetx=ie? event.clientX : e.clientX;
								offsety=ie? event.clientY : e.clientY;
								
								tempx=parseInt(crossobj.style.left);
								tempy=parseInt(crossobj.style.top);
								
								dragapproved=true;
								document.onmousemove=drag_drop;
				}
}
document.onmousedown=initializedrag;
document.onmouseup=new Function("dragapproved=false");
// ------------------------------------------------------------------
//- Diaporama -------------------------------------------------------
function anim(){
				//alert(compteur+" - "+nbrImg);
				// L'array "img()" est remplie par le script prechargement.js
				which=img[compteur];
				//alert(which);
				enlarge(which,'center',null,null)
				compteur++;
				//alert(compteur+" - "+nbrImg);
				if (compteur == nbrImg){  // si on arrive à la dernière image
								compteur = 0; 								// ...on retourne à la première
				}
}
// ------------------------------------------------------------------
//- Défilement des images dans le diaporama --------------------------
function defil(){
				temp = parseInt(document.formulaire.delai.value);
				compteur=0;
				if (temp != NaN){ 							// si c'est bien un nombre...
								duree = temp * 1000;
				}
				else{
								duree = 4000;
				}
				with(document.formulaire){
								//alert(duree);
								debut = setInterval("anim()", duree);
								lanceDefil.disabled = true; 	// on grise le bouton
								finDefil.disabled = false; 		// on le "dégrise"
				}
}
//- Arrêt du délilement du diaporama ----------------------------------
function stopDefil(){
				clearInterval(debut); 					// on vide "debut"
				document.formulaire.lanceDefil.disabled = false;
				document.formulaire.finDefil.disabled = true;
}
// --------------------------------------------------------------------------------------------