// JavaScript Document
var ns4 = (document.layers)? true:false;	  //NS 4
var ie4 = (document.all)? true:false;	  //IE 4
var dom = (document.getElementById)? true:false;	  //DOM

// première méthode our le calcul de la position

function getLeft_(MyObject)
//Fonction permettant de connaître la position d'un objet
//par rapport au bord gauche de la page.
//Cet objet peut être à l'intérieur d'un autre objet.
    {
    if (MyObject.offsetParent)
        return (MyObject.offsetLeft + getLeft_(MyObject.offsetParent));
    else
        return (MyObject.offsetLeft);
    }


function getTop_(MyObject)
//Fonction permettant de connaître la position d'un objet
//par rapport au bord haut de la page.
//Cet objet peut être à l'intérieur d'un autre objet.
    {
    if (MyObject.offsetParent)
        return (MyObject.offsetTop + getTop_(MyObject.offsetParent));
    else
        return (MyObject.offsetTop);
    }

function getTop(id_elt, name_elt)
    {
    if (dom)
        {
        pos = document.getElementById(id_elt);
        return (getTop_(pos));
        }
    else if (ie4)
        {
        pos = document.all[id_elt];
        return (getTop_(pos));
        }
    else if (ns4)
        {
        pos = document.anchors[name_elt];
        return (pos.y);
        }
    else
        {
        return (0);
        }
    }

function getHeigth(id_elt, name_elt)
    {
    if (dom)
        {
        pos = document.getElementById(id_elt);
        return (pos.offsetHeight);
        }
    else if (ie4)
        {
        pos = document.all[id_elt];
        return (pos.offsetHeight);
        }
    else if (ns4)
        {
        pos = document.anchors[name_elt];
        return (pos.offsetHeight);
        }
    else
        {
        return (0);
        }
    }

function getWidth(id_elt, name_elt)
    {
    if (dom)
        {
        pos = document.getElementById(id_elt);
        return (pos.offsetWidth);
        }
    else if (ie4)
        {
        pos = document.all[id_elt];
        return (pos.offsetWidth);
        }
    else if (ns4)
        {
        pos = document.anchors[name_elt];
        return (pos.offsetWidth);
        }
    else
        {
        return (0);
        }
    }


window.onscroll = action_select_entete ;
function action_select (id_elt) {
  if (ie4)
  {
    for (var S = 0; S < document.forms.length; S++){
      for (var R = 0; R < document.forms[S].length; R++) {
        if (document.forms[S].elements[R].options) {
          if ((document.body.scrollTop + getHeigth(id_elt, '')) > getTop(document.forms[S].elements[R].id, '')) {
            document.forms[S].elements[R].style.visibility = 'hidden';
            bidon=1;
          }
          else {
            document.forms[S].elements[R].style.visibility = 'visible';
          }
        }
      }
    }
  }
}

function action_select_entete () {
  action_select ('containerheader');
}


// première méthode our le calcul de la position
/*
function getPosition(e){
  var left = 0;
  var top  = 0;
  while (e.offsetParent){
    left += e.offsetLeft;
    top  += e.offsetTop;
    e     = e.offsetParent;
  }
  left += e.offsetLeft;
  top  += e.offsetTop;
  var pos = [];
  pos['X'] = left;
  pos['Y'] = top;
  return pos;
}

function getPositionY_all(id_elt, name_elt){
    if (dom)
        {
        pos = document.getElementById(id_elt);
        return (getPosition(pos)['Y']);
        }
    else if (ie4)
        {
        pos = document.all[id_elt];
        return (getPosition(pos)['Y']);
        }
    else if (ns4)
        {
        pos = document.anchors[name_elt];
        return (pos.y);
        }
    else
        {
        return ("nada");
        }
}   
*/


/*   
// Autre méthode mais qui permet normalement de swapper les select

fDomOffset = function( oObj, sProp )
{
 var iVal = 0;
 while (oObj && oObj.tagName != 'BODY') {
  eval('iVal += oObj.' + sProp + ';');
  oObj = oObj.offsetParent;
 }
 return iVal;
}
fSwapSelect = function( sId ) 
{ 
 oObj = document.getElementById(sId); 
 Top_Element  = fDomOffset(oObj, 'offsetTop'); 
 Left_Element  = fDomOffset(oObj, 'offsetLeft'); 
 Largeur_Element  = oObj.offsetWidth; 
 Hauteur_Element  = oObj.offsetHeight; 
 oSelects = document.getElementsByTagName('SELECT'); 
 if (oSelects.length > 0) { 
  for (i = 0; i < oSelects.length; i++) { 
   oSlt = oSelects[i]; 
   Top_Select = fDomOffset(oSlt, 'offsetTop'); 
   Left_Select = fDomOffset(oSlt, 'offsetLeft'); 
   Largeur_Select = oSlt.offsetWidth; 
   Hauteur_Select = oSlt.offsetHeight; 
   isLeft = false; 
   if ((Left_Element > (Left_Select - Largeur_Element)) && (Left_Element < (Left_Select + Largeur_Select))) { 
    isLeft = true; 
   } 
   isTop = false; 
   if ((Top_Element > (Top_Select - Hauteur_Element)) && (Top_Element < (Top_Select + Hauteur_Select))) { 
    isTop = true; 
   } 
   if (isLeft && isTop) { 
    sVis = (oObj.style.visibility == 'hidden') ? 'visible' : 'hidden'; 
    if (oSlt.style.visibility != sVis) {oSlt.style.visibility = sVis;} 
   } else { 
    if (oSlt.style.visibility != 'visible') {oSlt.style.visibility = 'visible';} 
   } 
  } 
 } 
} 

fSwapSelectinHeader = function( top_max ) 
{ 
 oSelects = document.getElementsByTagName('SELECT'); 
 if (oSelects.length > 0) { 
  for (i = 0; i < oSelects.length; i++) { 
   oSlt = oSelects[i]; 
   Top_Select = fDomOffset(oSlt, 'offsetTop'); 
   Left_Select = fDomOffset(oSlt, 'offsetLeft'); 
   Largeur_Select = oSlt.offsetWidth; 
   Hauteur_Select = oSlt.offsetHeight; 
   alert ("top="+Top_Select+" left="+Left_Select+" Largeur="+Largeur_Select+" hauteur"+Hauteur_Select);
   isTop = false; 
   if (top_max > Top_Select)  { 
    isTop = true; 
   } 
   if (isTop) { 
    sVis = (oObj.style.visibility == 'hidden') ? 'visible' : 'hidden'; 
    if (oSlt.style.visibility != 'hidden') {oSlt.style.visibility = 'hidden';} 
   } else { 
    if (oSlt.style.visibility != 'visible') {oSlt.style.visibility = 'visible';} 
   } 
  } 
 } 
} 
*/


