

/*

 ____________________________________

|                                    |

| site        : www.societe-eceau.com|

| auteur      : del                  |

| action	  : aggrandir une image  |

|				dans un calque		 |

|____________________________________|



*/



// Création de la pseudo-popup :

fe='<div id="pop" style="position:absolute;left:0px;top:0px;display:none;z-index:200;background-color:#FFF;border:1px outset;">'

//ajoute une ombre pour IE seulement

//fe+='filter:progid:DXImageTransform.Microsoft.Shadow(direction=135,color=#63421b,strength=6)">'

fe+='<div id="tet" onmousedown="dx=px-gdim.offsetLeft;dy=py-gdim.offsetTop;drag=1;" onmouseup="drag=0" style="cursor:move;background-color:#FFFFFF;line-height:18px;color:#5579A5;font-size:14px;padding:0 20px 0 .5em;font-family:cursive;">'

fe+='entête<img title=" Fermer " src="images/design/fermer.gif" onclick="voirSelect(\'visible\');gdim.style.display=\'none\'" height="18" width="60"'

fe+='style="cursor:pointer;position:absolute;margin:1px;right:0;top:0; " /></div></div>'



function initLienImg(){

db=!D.documentElement.clientWidth?D.body:D.documentElement //quirk IE6

gdim=D.getElementById('pop'); lx=D.getElementById('tet')

addEvent(D,"mousemove",controle_position) 

elem=document.getElementsByTagName('select');



//création de l'image

im1=D.createElement("img");gdim.appendChild(im1);

with(im1.style){border=0;margin="1px";}

//écriture des évènements

l=D.getElementsByTagName('a');

for(var i=0;i<l.length;++i){

  //ajoute onclick=grdimg dans liens image avec extention .jpg ou .JPG

  result=l[i].href.search(/jpg$|JPG$/);

  if(result!=-1){l[i].onclick=grdimg;}

  }

}



function controle_position(e){

sx=gk?pageXOffset:db.scrollLeft;     //scroll h

sy=gk?pageYOffset:db.scrollTop;      //scroll v





px=gk?e.pageX:event.clientX+sx;      //curseur x

py=gk?e.pageY:event.clientY+sy;      //curseur y

if(drag)with(gdim.style){left=px-dx+"px";top=py-dy+"px";}

return false 

}

//Renvoi image et title dans le calque.

function grdimg(){

fx=gk?innerWidth-20:db.clientWidth   //l fenêtre

fy=gk?innerHeight:db.clientHeight    //h fenêtre

//charge l'image dans le cache du navigateur.

im=new Image();im.src=this.href;

    //l'affiche en grandeur réduite repositionnée.

with(gdim.style){display="block";top=sy+100+'px';left=sx+203+'px'};

with(im1){src=im.src;width=height=100};

if(!cr)cr=gdim.offsetHeight-127;

if(gk)im1.style.marginBottom=-cr+"px";//correction Gecko 

//montre le message d'attente. 

lx.firstChild.data="patientez svp";

//colore le lien comme visité, récupère le message title

this.style.color=D.vlinkColor;txt=this.title;

//Lance le controle de chargement 

actif=setTimeout('controleChargement()',100)

//désactive l'action normale du lien HTML 

;return false 

}

 	  //controle du chargement de l'image

function controleChargement(){

//éxécute imgOK quand c'est terminé

im.complete?imgOK():

//sinon relance le contrôle toutes les 100 ms

actif=setTimeout('controleChargement()',100)

}



function imgOK(){ // image chargée.

clearTimeout(actif);lx.firstChild.data=txt;

//L'image ne dépasse pas la fenêtre:

if(im.width>=fx){im.height*=(fx-20)/im.width;im.width=fx-20;}

if(im.height>=fy){im.width*=(fy-30)/im.height;im.height=fy-30;}



//applique les dimensions recalculées à l'image.

im1.width=im.width;im1.height=im.height;

voirSelect('hidden')

}



// bug ie corrigé : cache les <select>

function voirSelect(v){

if(!gk){for(i=0;i<elem.length;i++)elem[i].style.visibility=v;}

}



function addEvent(obj,evType,fn,capt){ // ajoute un événement sans écraser l'éxistant.

if(obj.addEventListener){obj.addEventListener(evType,fn,capt);return true;} // NS6+

else if(obj.attachEvent)obj.attachEvent("on"+evType,fn)   // IE 5+

else {return false;}

} 



// initialisation

D=document;gk=window.Event?1:0/*Gecko*/;

dx=dy=e=drag=cr=0

addEvent(window,"load",initLienImg) 

D.write(fe)

//-->