fDomOffset = function( oObj, sProp )
{
 var iVal = 0;
 while (oObj && oObj.tagName != 'BODY') {
  eval('iVal += oObj.' + sProp + ';');
  oObj = oObj.offsetParent;
 }
 return iVal;
}
fSwapSelect = function( oDiv, bIFrame )
{
 var i = 0, oSlt = null, iST = 0, iSL = 0, iSW = 0, iSH = 0, isLeft = false, isTop = false, sVis = '';
 var oObj = document.getElementById(oDiv);
 var iOT  = fDomOffset(oObj, 'offsetTop');
 var iOL  = fDomOffset(oObj, 'offsetLeft');
 var iOW  = oObj.offsetWidth;
 var iOH  = oObj.offsetHeight;
 var oSelects = document.getElementsByTagName('SELECT');
 if (oSelects.length > 0) {
  for (i = 0; i < oSelects.length; i++) {
   isLeft = false; isTop = false; oSlt = oSelects[i];
   iST = fDomOffset(oSlt, 'offsetTop'); iSL = fDomOffset(oSlt, 'offsetLeft');
   iSW = oSlt.offsetWidth; iSH = oSlt.offsetHeight;
   // On verifie le Magical Square
   if ((iOL > (iSL - iOW)) && (iOL < (iSL + iSW))) {isLeft = true;}
   if ((iOT > (iST - iOH)) && (iOT < (iST + iSH))) {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';}
   }
  }
 }
 if (bIFrame) {
  var isFLeft = false, isFTop = false, oFra = null;
  var iFT = 0, iFL = 0, iFW = 0, iFH = 0, iFST = 0, iFSL = 0;
  var oIFrames = document.getElementsByTagName('IFRAME');
  if (oIFrames.length > 0) {
   for (i = 0; i < oIFrames.length; i++) {
    isFLeft = false; isFTop = false; oFra = oIFrames[i];
    iFT = fDomOffset(oFra, 'offsetTop'); iFL = fDomOffset(oFra, 'offsetLeft');
    iFW = oFra.offsetWidth; iFH = oFra.offsetHeight;
    iFST = frames[i].document.body.scrollTop; iFSL = frames[i].document.body.scrollLeft;
    // On verifie le Magical Square
    if ((iOL > (iFL - iOW)) && (iOL < (iFL + iFW))) {isFLeft = true;}
    if ((iOT > (iFT - iOH)) && (iOT < (iFT + iFH))) {isFTop = true;}
    oSelects = frames[i].document.getElementsByTagName('SELECT');
    if (oSelects.length > 0) {
     for (j = 0; j < oSelects.length; j++) {
      isLeft = false; isTop = false; oSlt = oSelects[j];
      iST = fDomOffset(oSlt, 'offsetTop') + iFT - iFST; iSL = fDomOffset(oSlt, 'offsetLeft') + iFL - iFSL;
      iSW = oSlt.offsetWidth; iSH = oSlt.offsetHeight;
      // On verifie le Magical Square
      if ((iOL > (iSL - iOW)) && (iOL < (iSL + iSW))) {isLeft = true;}
      if ((iOT > (iST - iOH)) && (iOT < (iST + iSH))) {isTop = true;}
      if (isLeft && isTop && isFLeft && isFTop) {
       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';}
      }
     }
    }
   }
  }
 }
}

