<!--  Liens image redirigés.
// testé sur ie5, ie6, ie7, Firefox 1.5.0.9, Firefox 2.0.0.3, Netscape 7,Opéra 9.02
( function() { //fonction éxécutable tout de suite
var d=document,gk=window.innerWidth?1:0 //gecko ; 
if(d.createElement){ // exclut les navigateurs incompatibles

var ver = navigator.appVersion.substr(17,6) 
var ie=navigator.appVersion.substr(17,4)=="MSIE"?1:0
var ie5_6 = ver=="MSIE 5" || ver=="MSIE 6"?1:0
,init // initialisation au premier lien image activé(click ou clavier)

// Ajout d'une action sur un événement
var addEvent = function(obj, type, fonction){
if (obj.addEventListener){	// code standard DOM
    obj.addEventListener(type, fonction, false);return true;}
else if (obj.attachEvent){ 	// code propriétaire MSIE
    var r = obj.attachEvent("on"+type, fonction); return r;}
}

// Arrête la poursuite de l'évènement
var stopEvent = function(e){
if(e.preventDefault){ e.preventDefault(); e.stopPropagation();}	// code standard DOM
else if(ie){e.cancelBubble = true; e.returnValue = false;}	// code propriétaire MSIE
return false; // pour les autres
}

//  cache les éléments select pour IE5 & IE6
var voirSelect = function(v){ 
var elem=document.getElementsByTagName('select');
if(ie5_6){for(i=0;i<elem.length;i++)elem[i].style.visibility=v;} 
} 

// Création des éléments de la fausse fenêtre
// Conteneur :
var gdim=d.createElement("div");gdim.id="pop" ;
// l'image :
var im1=d.createElement("img");gdim.appendChild(im1);im1.title=" Fermer "

// titre, description :
var lx=d.createElement("div");gdim.appendChild(lx);
lx.appendChild(d.createTextNode(""));lx.id="titre";

// conteneur des commandes pour galerie:
var avs=d.createElement("div");gdim.appendChild(avs);
avs.id = "croix";

// conteneur du message status image
var sta=d.createElement("div");avs.appendChild(sta);
sta.id = "statIM";

// conteneur des commandes image
var cdi=d.createElement("div");avs.appendChild(cdi);
cdi.id="cdeIM";

// precedent
var pre=d.createElement("a");cdi.appendChild(pre);
with(pre){id="prec";href='précédent';pre.innerHTML=" < <span>P</span>rec. "}

// diaporama
var dia=d.createElement("a");cdi.appendChild(dia);
with(dia){id="diapo";href='diaporama';dia.innerHTML=" <span>D</span>iaporama "}

// suivant
var sui=d.createElement("a");cdi.appendChild(sui);
with(sui){id=href='suivant';innerHTML=" <span>S</span>uiv > "}

// fermer
var crx=d.createElement("div");gdim.appendChild(crx);
crx.id = "Fermer";
crx.innerHTML="";

// Arrière-plan:
var arp=d.createElement("a");
with(arp){id="arplan";href="Fermer";title="Fermer";}

//positionne image et ar-plan
var pageDim = function(){
	var db=!d.documentElement.clientWidth?d.body:d.documentElement  
	// infos sur la fenêtre du navigateur
	var sx=gk?pageXOffset:db.scrollLeft; 		// scroll h 
	var sy=gk?pageYOffset:db.scrollTop; 		// scroll v 
	var fx=gk?innerWidth:db.clientWidth 		// l fenêtre 
	var fy=gk?innerHeight:db.clientHeight  	// h fenêtre 
	// centre l'image dans la fenêtre sans la tronquer
	var gdimx=fx/2-gdim.offsetWidth/2+sx
	var gdimy=fy/2-gdim.offsetHeight/2+sy
	if(gdimx<sx)gdimx=sx
	if(gdimy<sy)gdimy=sy
	with(gdim.style){left=gdimx+'px'; top=gdimy+'px';}
	// dimentionne l'arrière plan à la page
	with(arp.style){
		width=db.scrollWidth+'px';						// l page
		height=db.scrollHeight+'px';					// h page
		}
	}	

var grandeImage = function(e){ 
// détournement du lien image
if(e){lien = ie?e.srcElement:e.target;}
if(lien.tagName=="IMG"|!lien.tagName){lien=lien.parentNode;}// vignette ou noeud #text 
// lien vers une image d'extention .jpg, .jpeg, .png ou .gif 
if(lien.href&&lien.href.search(/.jpg$|.jpeg$|.png$|.gif$/i)!=-1){
	voirSelect('hidden');
	//charge l'image dans le cache du navigateur. 
	im=new Image();im.src=lien.href;im1.width=im1.height=0;
	lx.firstChild.data="chargement en cours ..."
	//montre l'arrière plan 
	arp.style.display="block";
	//montre la fausse fenêtre 
	gdim.style.display="block"
	gal=lien.parentNode.parentNode.parentNode.parentNode;
	if(gal&&gal.tagName=="DL"&&gal.className=="galerie"){
		tabLien=gal.getElementsByTagName('a')
		for(var i=0;i<tabLien.length;i++){if(lien == tabLien[i])courLien=i}
		sta.innerHTML="Image "+(courLien+1)+" de "+tabLien.length;
		avs.style.display='block';
		}
	else {avs.style.display='none';gal=0}
	actif=setTimeout('controleChargement()',300) 
	//désactive l'action normale du lien HTML 
  stopEvent(e);
	}
}

// controle le chargement de l'image 
controleChargement = function(){
// l'image est dimentionnée 
if(im.complete){
with(im1){src=im.src;width=im.width;height=im.height;}; 
lx.style.display=!lien.firstChild.tagName?"none":"block";
// renvoi le titre 
lx.firstChild.data=!gal?lien.firstChild.alt:tabLien[courLien].firstChild.alt;
clearTimeout(actif);pageDim()}
else {actif=setTimeout('controleChargement()',50) }
} 

// cacher image et ar-plan, rétablir les selects
var Fermer = function(e){
	arp.style.display='none';
	gdim.style.display='none';
	pre.style.display='';
	sui.style.display='';
	voirSelect('visible');
	clearTimeout(actif);
	stopEvent(e);}

// précédent ou suivant
var chgImg = function(){
	clearTimeout(actif);
	pre.style.display=courLien<1?'none':''; // précédent
	sui.style.display=courLien>tabLien.length-2?'none':'';// suivant
	voirSelect('hidden');
	//charge l'image dans le cache du navigateur. 
	im=new Image();im.src=tabLien[courLien].href;;
	lx.firstChild.data="chargement en cours ..."
	sta.innerHTML="Image "+(courLien+1)+" de "+tabLien.length;
	actif=setTimeout('controleChargement()',300) 
	}

diaporama=function(){
clearTimeout(actif);
if(im.complete){
with(im1){src=im.src;width=im.width;height=im.height;}; 
	// renvoi le titre 
	lx.firstChild.data=tabLien[courLien].firstChild.alt;
	sta.innerHTML="Image "+(courLien+1)+" de "+tabLien.length;
	pageDim()
	courLien=courLien+1>tabLien.length-1?0:courLien+1;
	im=new Image();im.src=tabLien[courLien].href;
	actif=setTimeout('diaporama()',4000);
}
else {actif=setTimeout('diaporama()',50) }
}

//initialisation souris
addEvent(d,"mousedown",function(e){
if(!init){d.body.appendChild(arp);d.body.appendChild(gdim);init=1} })
//initialisation clavier
addEvent(d,"keydown",function(e){
if(!init){d.body.appendChild(arp);d.body.appendChild(gdim);init=1} })
// recentrer au "resize" de la fenêtre
addEvent(window,"resize",pageDim)
// Liens vers images détournées
addEvent(d,"click",grandeImage)

					// commandes pour galerie
//cliquer sur precedent 
addEvent(pre,"click",function(e){courLien--;chgImg();stopEvent(e)})
//cliquer sur diaporama 
addEvent(dia,"click",function(e){diaporama();stopEvent(e);})
//cliquer sur suivant 
addEvent(sui,"click",function(e){courLien++;chgImg();stopEvent(e)})

//cliquer sur arp pour fermer
addEvent(arp,"click",Fermer)
//cliquer sur l'image pour fermer
addEvent(im1,"click",Fermer)
//cliquer sur "Fermer X" pour fermer
addEvent(crx,"click",Fermer)

// actions au clavier 
addEvent(d,"keydown",function(e){
tch=gk?e.which:e.keyCode;
if(tch==80){courLien--;chgImg(e);stopEvent(e)}// précédent
if(tch==83){courLien++;chgImg(e);}// suivant
if(tch==68){diaporama();}// diaporama
if(tch==27||tch==70){Fermer();}// fermer avec la touche "Echap" ou "F"
	}) 
}
} ) ();
//--> 
