/**************  Objet de détection de navigateur *****************/
function Navigateur() {
  exclude=1;
  var agt=navigator.userAgent.toLowerCase();
  var win=0;var mac=0;var lin=1;
  if(agt.indexOf('win')!=-1){win=1;lin=0;}
  if(agt.indexOf('mac')!=-1){mac=1;lin=0;}
  var lnx=0;if(lin){lnx=1;}
  var dom=document.getElementById?true:false; //Document Object Model  supporté ?
  var ie=0;var ie4=0;var ie5=0;var ie6=0;
  var ns4=0;var gk=0;var ns6=0;var ns7=0;var mz7=0;var kde=0;var saf=0;
  var op5=0;var op6=0;var op7=0;
  if(typeof navigator.vendor!="undefined" && navigator.vendor=="KDE"){
	  var thisKDE=agt;
	  var splitKDE=thisKDE.split("konqueror/");
	  var aKDE=splitKDE[1].split("; ");
	  var KDEn=parseFloat(aKDE[0]);
	  if(KDEn>=2.2){
		  kde=1;
		  gk=1;
		  exclude=0;
	  }
  }
  else if(agt.indexOf('webtv')!=-1){exclude=1;}
  else if(typeof window.opera!="undefined"){
	  exclude=0;
	  if(agt.indexOf("opera/5")!=-1||agt.indexOf("opera 5")!=-1){op5=1;}
	  if(agt.indexOf("opera/6")!=-1||agt.indexOf("opera 6")!=-1){op6=1;}
	  if(agt.indexOf("opera/7")!=-1||agt.indexOf("opera 7")!=-1){op7=1;}
  }
  else if(typeof document.all!="undefined"&&!kde){
	  exclude=0;
	  ie=1;
	  if(typeof document.getElementById!="undefined"){
		  ie5=1;
		  if(agt.indexOf("msie 6")!=-1){
			  ie6=1;
		  }
	  }
	  else{ie4=1;}
  }
  else if(typeof document.getElementById!="undefined"){
	  exclude=0;
	  if(agt.indexOf("netscape/6")!=-1||agt.indexOf("netscape6")!=-1){gk=1;ns6=1;}
	  else if(agt.indexOf("netscape/7")!=-1||agt.indexOf("netscape7")!=-1){gk=1;ns7=1;}
	  else if(agt.indexOf("gecko")!=-1){gk=1;mz7=1;}
	  if(agt.indexOf("safari")!=-1 || (typeof document.childNodes!="undefined" && typeof document.all=="undefined" && typeof navigator.taintEnabled=="undefined")){mz7=0;gk=1;saf=1;}
  }
  else if((agt.indexOf('mozilla')!=-1)&&(parseInt(navigator.appVersion)>=4)){
	  exclude=0;
	  ns4=1;
	  if(typeof navigator.mimeTypes['*']=="undefined"){
		  exclude=1;
		  ns4=0;
	  }
  }
  if(agt.indexOf('escape')!=-1){exclude=1;ns4=0;}
  if(typeof navigator.__ice_version!="undefined"){exclude=1;ie4=0;}  
  
  this.exclude=(exclude==1);
  this.agt=agt;
  this.win=(win==1);
  this.mac=(mac==1);
  this.lin=(lin==1);
  this.dom=dom;
  this.ie=(ie==1);
  this.ie4=(ie4==1);
  this.ie5=(ie5==1);
  this.ie6=(ie6==1);
  this.ns4=(ns4==1);
  this.gk=(gk==1);
  this.ns6=(ns6==1);
  this.ns7=(ns7==1);
  this.mz7=(mz7==1);
  this.kde=(kde==1);
  this.saf=(saf==1);
  this.op5=(op5==1);
  this.op6=(op6==1);
  this.op7=(op7==1);
}


nav=new Navigateur();
var iemac=(nav.mac && nav.ie);


/************** envoi mail en fabricant l'URL ****************************************************/
function ecrire(destinataire) {	
  var chaine_mail = "mailto:"
  switch (destinataire) {
	 case 'cho':chaine_mail += "josettelievre";
		 break;
	 case 'franck':chaine_mail += "fruzzin";
		 break;
  }
  chaine_mail +="@";
  switch (destinataire) {
	 case 'cho':chaine_mail += "voila.fr";
		 break;
	 case 'franck':chaine_mail += "voila.fr";
		 break;
  }
  location.href = chaine_mail;
	
}

/************** Obtention et affectation des position d'éléments *****************/
//Affiche l'élément dont l'attribut id est "id"
function voir(id) {
  document.getElementById(id).style.visibility="visible";	// NN6 IE4 DOM2
}

//Cache l'élément dont l'attribut id est "id"
function cacher(id) {
  document.getElementById(id).style.visibility="hidden";	// NN6 IE4 DOM2
}

//Retourne le point gauche de l'élément dont l'attribut id est "id"
function getObjetLeft(id) {
  var element=document.getElementById(id);    // NN6 IE5 DOM1
  var result=0;
 
  result=element.offsetLeft;        //NN6 IE4 DOM n/a
  while (element.offsetParent) {    //NN6 IE4 DOM n/a 
	element=element.offsetParent;   //NN6 IE4 DOM n/a	
	if (element!=document.body) {   //SAF ajoute valeur pour Body
	  result+=element.offsetLeft;   //NN6 IE4 DOM n/a
	}
  }
  if (iemac) {result=result+10;} //clientLeft-offsetLeft
  return parseInt(result); 	 
}

//Retourne le point haut de l'élément dont l'attribut id est "id"
function getObjetTop(id) {
  var element=document.getElementById(id);    // NN6 IE5 DOM1
  var result=0;
  
 result=element.offsetTop;         //NN6 IE4 DOM n/a
 while (element.offsetParent) {    //NN6 IE4 DOM n/a 
	element=element.offsetParent;  //NN6 IE4 DOM n/a
	if (element!=document.body) {  //SAF ajoute valeur pour Body
	  result+=element.offsetTop;   //NN6 IE4 DOM n/a
	}
  }
  if (iemac) {result=result+15;} //clientTop-offsetTop
  return parseInt(result); 	 
}

//Retourne la largeur de l'élément dont l'attribut id est "id"
function getObjetWidth(id) {
  var element=document.getElementById(id);    // NN6 IE5 DOM1
  var result=0;
  
  result=element.offsetWidth;       //NN6 IE4 DOM n/a  
  return parseInt(result);
}

//Retourne la hauteur de l'élément dont l'attribut id est "id"
function getObjetHeight(id) {
  var element=document.getElementById(id);    // NN6 IE5 DOM1
  var result=0;
  
  result=element.offsetHeight;       //NN6 IE4 DOM n/a  
  return parseInt(result);
}

//Positionne par rapport à l'élément d'identifiant accrocheId
//au point ptX,ptY (ptX=(0,1) --> gauche,droite;ptY=(0,1) --> haut,bas;
//l'objet d'identifiant id
//en le décalant de dx et de dy 
function positionner(accrocheId,ptX,ptY,id,dx,dy) {
  var coordX=0,coordY=0;
  
  if (ptX==0) {
     coordX=getObjetLeft(accrocheId)+dx;
  } else {
     coordX=getObjetLeft(accrocheId)+getObjetWidth(accrocheId)+dx;
  }
  if (ptY==0) {
     coordY=getObjetTop(accrocheId)+dy;
  } else {
     coordY=getObjetTop(accrocheId)+getObjetHeight(accrocheId)+dy;
  }
  document.getElementById(id).style.left=coordX+"px";
  document.getElementById(id).style.top=coordY+"px";
}


function obtenirHauteurNavigateur() {
  if (window.innerHeight) {
	 return window.innerHeight;
  } else if (document.body) {	    	 
	 if (document.body.parentElement && document.body.parentElement.clientHeight) {
		 return document.body.parentElement.clientHeight;  
	 } else if (document.body.clientHeight) {
		 return document.body.clientHeight; 
	 }	 
  }
  return 0;
}

function obtenirLargeurNavigateur() {
  if (window.innerWidth) {
	 return window.innerWidth;
  } else if (document.body) {	    
	 if (document.body.parentElement && document.body.parentElement.clientWidth) {
		 return document.body.parentElement.clientWidth;  
	 } else if (document.body.clientWidth) {
		 return document.body.clientWidth; 
	 }
  }
  return 0;
}


function centerDansNavigateur(id) {
	var x=Math.round(obtenirLargeurNavigateur()/2-getObjetWidth(id)/2 );
	var y=Math.round(obtenirHauteurNavigateur()/2-getObjetHeight(id)/2 );
	document.getElementById(id).style.left=x+"px";
    document.getElementById(id).style.top=y+"px";	
}

function centerDansNavigateurBorne(id) {
	var x=Math.round(obtenirLargeurNavigateur()/2-getObjetWidth(id)/2 );
	var y=Math.round(obtenirHauteurNavigateur()/2-getObjetHeight(id)/2 );			
	document.getElementById(id).style.left=Math.max(x,0)+"px";
    document.getElementById(id).style.top=Math.max(y,0)+"px";	
}

/************************ calculs divers ***************************/


function getRectLeft(monRect) { //de type rect(tttpx rrrpx bbbpx lllpx): retourne lll
  var posDeb=0;
  
  posDeb=monRect.lastIndexOf(' ');
  return parseInt(monRect.substr(posDeb+1));
}


function getRectRight(monRect) { //de type rect(tttpx rrrpx bbbpx lllpx): retourne rrr
  var posDeb=0,posFin=0;
  
  posDeb=monRect.indexOf(' ');
  monRect=monRect.substr(posDeb+1);
  posFin=monRect.indexOf(' ');
  return parseInt(monRect.substr(0,posFin));
}


/*Routine de swap des images*/
function setImage(imgName,type) {
  if (document.images) {
    if (type=="hilite") {
	  document.images[imgName].src=imagesHilite[imgName].src;
	  return true;
	} else if (type=="normal") {
	  document.images[imgName].src=imagesNormal[imgName].src;
	  return true;
	}
  }
  return false;
}


/* change la classe d'un objet */
function changeclass(objet, myClass) { 
	objet.className = myClass;
}


/* Affichage d'une image dans une nouvelle fenetre, maximisée*/
function photoPleinEcran(image, titre, largeur, hauteur) {
    var mywin=window.open("","","menubar=yes,resizable=yes,scrollbars=no","false");
    var lscreen=screen.availWidth;
    var hscreen=screen.availHeight;
    mywin.moveTo(0,0);	
    mywin.resizeTo(lscreen,hscreen);
    //var largNav=obtenirLargeurNavigateur();
    //var hautNav=obtenirHauteurNavigateur();
    var largNav=lscreen-30;
    var hautNav=hscreen-100;
    var l=largeur,h=hauteur;
    ratio=l/largNav;
    if (ratio>1) {
	l=l/ratio;
	h=h/ratio;
    }
    ratio=h/hautNav;
    if (ratio>1) {
	l=l/ratio;
	h=h/ratio;
    }

    var contenu="<html><head><title>"+titre+" ("+largeur+"x"+hauteur+")</title>";  
    mywin.document.write(contenu);
	contenu='<style type="text/css"><!--';
	contenu+='body {background-image: url(squelettes/mesimages/texture100.jpg);}';
	contenu+='--></style>';
	mywin.document.write(contenu);
    contenu="</head><body>"
    mywin.document.write(contenu);
    contenu='<table width="100%" height="100%" border="0" cellpadding="0" cellspacing="0">';
    mywin.document.write(contenu);
    contenu='<tr>';
    mywin.document.write(contenu);
    contenu='<td><div align="center"><img style="height:'+h+'px;width:'+l+'px" src="'+image+'"></div></td>';
    mywin.document.write(contenu);
    contenu='</tr>';
    mywin.document.write(contenu);
    contenu='</table>';
    mywin.document.write(contenu);  
    contenu="</body></html>";
    mywin.document.write(contenu);
    mywin.document.close();  //fermer le flux	  
    mywin.document.title=titre+" ("+largeur+"x"+hauteur+")";
}


/* Routines de swap des images*/

function MM_preloadImages() { //v3.0
  var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
  var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
  if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
}


function MM_swapImgRestore() { //v3.0
  var i,x,a=document.MM_sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc;
}

function MM_findObj(n, d) { //v4.01
  var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
  if(!x && d.getElementById) x=d.getElementById(n); return x;
}

function MM_swapImage() { //v3.0
  var i,j=0,x,a=MM_swapImage.arguments; document.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3)
   if ((x=MM_findObj(a[i]))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];}
}

/* lancer la recherche sur le formulaire de recherche */
function chercher() {
	document.searchForm.submit();
}