/*
Fonctions utilitaires JavaScript 1.3
*/

// affiche une chaîne de caractère sur une ligne
function pr(chaine, doc) 
  {
  if (doc == null)
    doc = document
  doc.write(chaine + "<br>")
  }

// affiche une variable et son contenu
function prv(nom_var, label, doc) {pr((label ? label : nom_var) + " = " + eval(nom_var), doc)}

// affiche une en-tête
function h(chaine,n) {document.write("<br><h"+n+">" + chaine + "</h"+n+">")}

// retourne les propriétés d'un objet "obj_name"
function show_props(obj_name, label) 
  { 
  var result = "" 
  var obj = eval(obj_name)   // enlève les quotes
  if (label)   // si un autre nom est spécifié, on le prend
    obj_name=label
  for (var i in obj) 
    result += obj_name + "." + i + " = " + obj[i] + "<br>" 
  result += "<hr>"
  return result; 
  } 

// retourne le contenu d'un tableau "nom_t"
function tab(nom_t, label) 
  { 
  var result = "" 
  var t = eval(nom_t)
  if (label)
    nom_t = label
  for (var i=0; i<t.length; i++)
    result += nom_t + "[" + i + "] = " + t[i] + "<br>" 
  result += "<hr>"
  return result; 
  }

/*
// trouve la position de la souris dans la fenêtre
function position(e)
  {
  x = (navigator.appName.substring(0,3) == "Net") ? e.pageX : 	event.x+document.body.scrollLeft;
  y = (navigator.appName.substring(0,3) == "Net") ? e.pageY : 	event.y+document.body.scrollTop;
  window.status = "Souris X:"+x+" / Y:"+y;
  }
if (navigator.appName.substring(0,3) == "Net")
  document.captureEvents(Event.MOUSEMOVE);
document.onmousemove = position;
*/

// variables globales
var myf_nfen=0;    // n° courant de fenêtre pop-up pour ChargeImage()

// ouvre une image dans une fenêtre séparée à sa juste taille
function ChargeImage(url, titre, dx,dy, nfen, status)
  {
  var ima = new Image();
  ima.src = url;    // charge l'image dans le cache
  var width = (dx ? dx : ima.width);
  var height = (dy ? dy : ima.height);
  
/*
ima.width et ima.height restent à 0 dans Netscape 4.5.
Les tailles ne sont connues que lorsque l'image est chargée dans un document.
Exemple: window.document.nomImage.width
*/
  var scroll = "no"  // barres ascenseurs si fenêtre ne loge pas dans l'écran ?
  if (width > screen.width-14)
    {
    width = screen.width-14;
    scroll = "yes"
    }
  if (height > screen.height-60)
    {
    height = screen.height-60;
    scroll = "yes"
    }
  if (width==0 || height==0)
    {
    height = screen.height/2;
    width = screen.width/2;
    scroll = "yes"
    }
  if (! titre)
    titre = "Image"
  var html = '<HTML><HEAD><META http-equiv="Content-Type" '+
	'CONTENT="text/html;charset=ISO-8859-1"><TITLE>'+
	titre+'</TITLE></HEAD>'+
	'<BODY LEFTMARGIN=0 MARGINWIDTH=0 TOPMARGIN=0 MARGINHEIGHT=0><CENTER>'+
	'<IMG SRC="' + url + '" BORDER=0'+
	' ALT="'+titre+'" TITLE="'+titre+'"></CENTER></BODY></HTML>';
  // ouvre une nouvelle fenêtre ("fen"+nfen), de taille width x height
  if (! nfen)
    nfen = myf_nfen++;
  var win = window.open("", "fen" +nfen,"scrollbars="+scroll+
	",resizable=yes,width="+width+",height="+height)
  win.document.open()      // ouvre le document (normalement déjà fait)
  win.document.write(html)     // écrit le document HTML
  win.document.close()         // effectue la mise à jour
  }


// ouvre un document HTML dans une fenêtre séparée
function ChargeTexte(url, titre, dx,dy)
  {
  var width = (dx ? dx : 3*screen.width/4);
  var height = (dy ? dy : 3*screen.height/4);
  // ouvre une nouvelle fenêtre ("fen"+nfen), de taille width x height
  var win = window.open("", "fen" +myf_nfen++,"scrollbars=yes"+
	",resizable=yes,width="+width+",height="+height)
  win.document.location = url     // écrit le document HTML
  if (titre)
    win.document.title = titre
  }


/*
Spécial album avec imagettes.
Affiche mini/imag.jpg avec un lien vers maxi/imag.jpg de taille dx x dy qui s'ouvre dans une fenêtre pop-up de cette taille, toujours la même.
Le titre s'affiche:
- dans le champ bulle de l'imagette et de l'image
- dans la barre d'état
- titre de la fenêtre pop-up
Remarque: si le champ titre contient:
' écrire \\'
" écrire &quot;
*/
var _defmaxi="maxi"
var _defmini="mini"
var _defdx=640
var _defdy=480
function disp(imag, title, dx,dy)
  {
  if (! dx)
    dx = _defdx
  if (! dy)
    dy = _defdy
  document.write("<a href=\"javascript:ChargeImage(\'"+_defmaxi+"/"+imag+".jpg\', \'"+title+"\', "+dx+","+dy+", 1)\" onmouseover=\"window.status=\'"+title+"\'; return true\" onmouseout=\"window.status=\'\'\"><img src=\""+_defmini+"/"+imag+".jpg\" title=\""+title+"\" border=0></a> ")
  }

// traduction (depuis le français) selon un moteur de traduction
function traduit(langue, page)
  {
  if (! page)
    page = window.location.href;
  if (! langue)
    langue="en";
  s = "http://www.systranbox.com/systran/box?id=SystranSoft-en&text=x&ttype=url&url="+page+"&lp=fr_"+langue
  // substitue la page courante par l'url
  //window.location.href = s;
  window.open(s, '_self');
  }

// moteur alternatif (moins bon)
function traduit2(langue, page)
  {
  if (! page)
    page = window.location.href;
  if (! langue || langue=="en")
    langue="eng";
  else if (langue == "it")
    langue="ita";
  else if (langue == "de")
    langue="ger";
  else if (langue == "es")
    langue="spa";
  else if (langue == "pt")
    langue="poe";
  s = "http://www.tranexp.com:2000/Translate/result.shtml?from=fre&to="+langue+"&type=url&url="+page+"&keyb=non&text="

  // substitue la page courante par l'url
  window.location.href = s;
  }

