<!--  Liens image redirigés. Michel Deboom 05/2005 modifié 31/12/06  

( function() { //fonction executable tout de suite
if(document.createElement){ // suffit pour exclure les navigateurs incompatibles
// les variables :
/* Position de la fausse fenêtre 
 0 - en haut et à gauche
 1 - centrée  
*/
var centre=0 ;

var D=document; // économie ;)
var ie=navigator.appVersion.substr(17,4)=="MSIE"?1:0
var db,sx,sy,dx,dy,drag,lock,init

// 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;}
else {   // code navigateur sans support DOM-event
    eval('obj.on' + type + '= fonction') ;}
}

//  cache les éléments select pour IE5 & IE6
var voirSelect = function(v){ 
var elem=document.getElementsByTagName('select');
if(ie&&navigator.appVersion.substr(22,1)<7){
	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.setAttribute("id", "pop") ;
// Entête :
var lx=D.createElement("div");gdim.appendChild(lx);
lx.appendChild(D.createTextNode(""));lx.setAttribute("id", "tet");
// Pour fermer :
var avs=D.createElement("div");lx.appendChild(avs);
avs.setAttribute("id", "croix");
avs.title="Fermer";avs.appendChild(D.createTextNode("X")); 
// l'image :
var im1=D.createElement("img");gdim.appendChild(im1);

var correctionEventIE = function(e){
	if (!e.target ) {e.target = e.srcElement}
	if (!e.preventDefault ){
		e.preventDefault = function (){ e.returnValue = false ; } ;
	 }
}

var grandeImage = function(e){ 
// initialisation au premier click dans la page
if(!init){ // necessite que l'élément "body" éxiste 
	db=!D.documentElement.clientWidth?D.body:D.documentElement //quirk IE; 
	D.body.appendChild(gdim);init=1
	}
//alert(toto)
// détournement du lien image
correctionEventIE(e);
var lien = e.target;
if(lien.tagName=="IMG"|!lien.tagName){lien=lien.parentNode;}// vignette ou noeud #text 
if(lien.getAttribute('href')) { // liens seulement
	var addr = lien.getAttribute('href') ; 
	if( addr&&addr.search(/.jpg$|.jpeg$|.png$|.gif$/i)!=-1){
		voirSelect('hidden');
		//charge l'image dans le cache du navigateur. 
		im=new Image();im.src=addr;
		// renvoi le titre 
		im1.alt=lien.title;
		im1.title='fermer'; 
		//infos sur la fenêtre du navigateur
		fx=ie?db.clientWidth:innerWidth-20 //l fenêtre 
		fy=ie?db.clientHeight:innerHeight  //h fenêtre 
		sx=ie?db.scrollLeft:pageXOffset; //scroll h 
		sy=ie?db.scrollTop:pageYOffset; //scroll v 
		// title reporté dans l'entête
		lx.firstChild.data=im1.alt
		if(im1.alt==''){avs.style.display="none"}
		else {avs.style.display=""}
		// Image réduite à 0
		with(im1){width=height=0;src=""}; 
		//montre la fausse fenêtre 
		gdim.style.display="block"
 		actif=setTimeout('controleChargement()',300) 
		//désactive l'action normale du lien HTML 
	  e.preventDefault();
		}
	}
}

// controle le chargement de l'image 
controleChargement = function(){
// l'image est dimentionnée 
with(im1){src=im.src;width=im.width;height=im.height;}; 
sx=ie?db.scrollLeft:pageXOffset; //scroll h 
sy=ie?db.scrollTop:pageYOffset; //scroll v 
// centre l'image dans la fenêtre
if(centre){		
	gdim.style.left=fx/2-gdim.offsetWidth/2+sx+'px'; 
	gdim.style.top=fy/2-gdim.offsetHeight/2+sy+'px';
	}
else {
	gdim.style.left=sx+'px'; 
	gdim.style.top=sy+'px';
	}

 if(im.complete){clearTimeout(actif)
  }
	else actif=setTimeout('controleChargement()',50) 
} 

// Liens vers images détournés
addEvent(D,"click",grandeImage)

//cliquer sur la croix pour fermer
addEvent(avs,"click",
	function(){gdim.style.display='none';voirSelect('visible');})

//cliquer sur l'image pour fermer
addEvent(im1,"click",
	function(){gdim.style.display='none';voirSelect('visible');})

// fonctions de drag&drop sur la barre de titre
addEvent(lx,"mousedown",function(e){
	correctionEventIE(e)
	dx=px-gdim.offsetLeft;dy=py-gdim.offsetTop;drag=1;
	e.preventDefault();
  })
addEvent(lx,"mouseup",function(){drag=0})
addEvent(D,"mousemove",function(e){ 
	correctionEventIE(e)
	px=!ie?e.pageX:event.clientX+sx; //curseur x 
	py=!ie?e.pageY:event.clientY+sy; //curseur y 
	if(drag){
		with(gdim.style){;left=px-dx+"px";top=py-dy+"px"};
		e.preventDefault();
		} 
	}) 

// déplacer l'image au clavier 
addEvent(D,"keydown",function(e){
	correctionEventIE(e)
	tch=!ie?e.which:event.keyCode;
	// avec les flèches
	if(tch==40||tch==98){ // vers le bas
		gdim.style.top=gdim.offsetTop+50+'px';lock=1;
		e.preventDefault();
		}
	if(tch==38||tch==104){ // vers le haut
		gdim.style.top=gdim.offsetTop-50+'px';lock=1;
		e.preventDefault();
		}
	if(tch==37||tch==100){ // vers la gauche
		gdim.style.left=gdim.offsetLeft-50+'px'}
	if(tch==39||tch==102){ // vers la droite
		gdim.style.left=gdim.offsetLeft+50+'px'}
	if(tch==27){// cacher l'image avec la touche "Echap"
		gdim.style.display='none';voirSelect('visible');}
}) 

//Empèche le scroll de la page sur déplacement au clavier
addEvent(D,"keypress",function(e){
	correctionEventIE(e)
	if(lock){lock=0;e.preventDefault();}
  else return true
	}) 
}
} ) ();
//--> 
