//Iwaweb Dynamic Library V1.3
//Copyright © 2000-2003, Iwaweb
//La modification, la rediffusion de ce script est strictement interdite, seule l'utilisation est autorisée
//Pour connaître les navigateurs compatibles avec IDL consultez la liste de compatiblité
//pour utiliser cette librairie insérez simplement cette ligne <script language="javascript" src="idl.js"></script>

//détecte le navigateur utilisé

ie=navigator.userAgent.toLowerCase().indexOf("msie");
gecko=navigator.userAgent.toLowerCase().indexOf("gecko");
opera=navigator.userAgent.toLowerCase().indexOf("opera");

if(ie>0 && opera<0)
  version=parseFloat(navigator.userAgent.substring(ie+5,ie+8));

if(opera>0)
  version=parseFloat(navigator.userAgent.substring(opera+6,opera+9));

if(ie>0 && version<5 && opera<0)
  alert("Attention, vous disposez d'une version d'Internet Explorer antérieure à la version 5.0. Risque d'erreur important !");

if(opera>0 && version<7)
  alert("Attention, vous disposez d'une version d'Opera antérieure à la version 7.0. Risque d'erreur important !");

if(opera<0 && gecko<0 && ie<0)
  alert("Attention, votre navigateur n'est pas reconnu par IDL. Risque d'erreur important !");



function creercalque(nom,largeur,hauteur,posix,posiy,couleur,paramsup,contenu,visibilite,zindex){
  //nom,couleur,contenu et paramsup sont des chaines de caractère; largeur,hauteur,posix,posiy,zindex sont des entiers
  //Action: crée un calque

  document.write("<div id="+nom+" style='position:absolute;height:"+hauteur+"px;width:"+largeur+"px;left:"+posix+"px;top:"+posiy+"px;background-color:"+couleur+";visibility:"+visibilite+";z-index:"+zindex+"' "+paramsup+">"+contenu+"</div>");
}

function couleurcalque(nom,couleur){
  //nom et couleur sont des chaînes
  //Action: modifie la couleur du calque

  document.getElementById(nom).style.backgroundColor=couleur;
}

function contenucalque(nom,contenu){
  //nom et contenu sont des chaînes
  //Action: modifie le contenu du calque

  document.getElementById(nom).innerHTML=contenu;  
}

function lire_contenucalque(nom){
  //nom est une chaîne
  //Action: retourne dans une chaîne le contenu du calque

  return document.getElementById(nom).innerHTML;
}

function visibilitecalque(nom,visi){
  //nom est une chaîne, visi est une chaîne acceptant 2 valeurs "hidden" ou "visible"
  //Action: masque ou affiche le calque

  document.getElementById(nom).style.visibility=visi;
}

function indiquervisibilite(nom){
  //nom est une chaîne
  //Action: retourne une variable qui vaut 1 si le calque est visible, 0 dans le cas contraire

  var visi=0;
  if(document.getElementById(nom).style.visibility=="visible")
  {
    visi=1;
  }
  return visi;
}

function lire_largeurfenetre(){
  //Action: retourne la largeur de la fenetre en pixels
  //Attention le script qui emploie cette fonction doit être situé entre les balises <body> et </body>

  if(gecko>0)
    var LargeurFenetre=self.innerWidth;
  else
    var LargeurFenetre=document.body.clientWidth;

  return LargeurFenetre;
}

function lire_hauteurfenetre(){
  //Action: retourne la hauteur de la fenetre en pixels
  //Attention le script qui emploie cette fonction doit être situé entre les balises <body> et </body>  

  if(gecko>0)
    var HauteurFenetre=self.innerHeight;
  else
    var HauteurFenetre=document.body.clientHeight;

  return HauteurFenetre;
}

function positioncalque_x(nom,distance){
  //la variable distance(entier) indique la distance du calque en pixel par rapport au bord gauche de votre fenêtre
  //nom est une chaîne
  //Action: replace le calque

  document.getElementById(nom).style.left=distance;
}

function positioncalque_y(nom,distance){
  //la variable distance(entier) indique la distance du calque en pixel par rapport au bord supérieur de votre fenêtre
  //nom est une chaîne
  //Action: replace le calque

  document.getElementById(nom).style.top=distance;
}

function lire_positioncalque_x(nom){
  //nom est une chaîne
  //Action : retourne un entier indiquant la position du calque par rapport au bord gauche de la fenetre

  return eval(document.getElementById(nom).style.left.substring(0,document.getElementById(nom).style.left.indexOf("px")));
}

function lire_positioncalque_y(nom){
  //nom est une chaîne
  //Action : retourne un entier indiquant la position du calque par rapport au bord supérieur de la fenetre

  return eval(document.getElementById(nom).style.top.substring(0,document.getElementById(nom).style.top.indexOf("px")));
}

function largeurcalque(nom,largeur){
  //nom est une chaîne, largeur est un entier qui indique la largeur du calque en pixels
  //Action : modifie la largeur du calque

  document.getElementById(nom).style.width=largeur;  
}

function lire_largeurcalque(nom){
  //nom est une chaîne
  //Action : retourne la largeur du calque

  return document.getElementById(nom).offsetWidth;
}

function hauteurcalque(nom,hauteur)
{
  //nom est une chaîne, hauteur est un entier qui indique la hauteur du calque en pixels
  //Action : modifie la hauteur du calque

  document.getElementById(nom).style.height=hauteur;  
}

function lire_hauteurcalque(nom){
  //nom est une chaîne
  //Action : retourne la hauteur du calque

  return document.getElementById(nom).offsetHeight;
}

function modifierindex(nom,valeur){
  //nom est une chaîne et valeur est un entier
  //Action : modifie le z-index d'un calque

  document.getElementById(nom).style.zindex=valeur;
}

function lire_index(nom){
  //nom est une chaîne
  //Action : retourne le z-index du calque

  return document.getElementById(nom).style.zindex;
}

//initialisation à -1 pour que cette variable ne puisse désigner aucune touche au démarrage
toucheactive=-1;
//on considère que la souris est dans le coin supérieur gauche
posi_souris_x=0;
posi_souris_y=0;

if(gecko>0){
  //détecte le code d'une touche avec un navigateur disposant du moteur Gecko

  function touche_gecko(evnt){
    toucheactive=evnt.keyCode;
  }
  document.onkeydown=touche_gecko;

  //détecte la position de la souris avec un navigateur disposant du moteur Gecko  
  function souris_gecko(evnt){
    posi_souris_x=evnt.clientX;
    posi_souris_y=evnt.clientY;
  }
  document.onmousemove=souris_gecko;
    
}
else{
  //détecte le code d'une touche avec Internet Explorer et Opera
  //Attention avec certaines touches les indications d'Opera sont complètement fausses

  function touche_ie(){
    toucheactive=event.keyCode;
  }
  document.onkeydown=touche_ie;

  //détecte la position de la souris avec Internet Explorer  
  function souris_ie(){
    posi_souris_x=event.clientX;
    posi_souris_y=event.clientY;
  }
  document.onmousemove=souris_ie;  
}   

