/******* BUTINE.NET -> UCR.js
******** Unité de gestion des Couches Rétractables (en haut du Corps)
********
*******/

function IniDepCouches()
{
  var DEBORD = 15;
  var layer;
  var i;
  var args = IniDepCouches.arguments;

  for (i = 0; i < args.length; i += 2) {
    if (args[i] == '') {
      continue;
    }
    layer = document.getElementById(args[i]);
    TransfoTaille(layer);
    if (args[i+1] == 1) {
      layer.style.left = -GetVal(layer.style.width)  + DEBORD;
    } else {
      if (args[i+1] == 2) {
        layer.style.top = -GetVal(layer.style.height) + DEBORD;
      }
    }
    layer._sl_dir = (GetVal(layer.style.top) < 0) ? 'v' : ((GetVal(layer.style.left) < 0) ? 'h' : '');
    if (layer._sl_dir == '') {
      return;
    }
    layer._sl_maxpos = 0;
    layer._sl_minpos = (GetVal(layer.style.top) < 0) ? GetVal(layer.style.top) : GetVal(layer.style.left);
  }
  layer.onmouseover = DepCoucheMouseOver;
  layer.onmouseout = DepCoucheMouseOut;
}

function DepCoucheMouseOver()
{
  var layer = this;
  var name  = layer.id;

  if (layer._up_interval != undefined) {
    return;
  }
  if (layer._down_interval != undefined) {
    clearInterval(layer._down_interval);
    layer._down_interval = undefined;
  }
  layer._up_interval = setInterval("DepCoucheMouseOver2('" + name + "')", 50);
}

function DepCoucheMouseOut()
{
  var layer = this;
  var name  = layer.id;

  if (layer._down_interval != undefined) {
    return;
  }
  if (layer._up_interval != undefined) {
    clearInterval(layer._up_interval);
    layer._up_interval = undefined;
  }
  layer._down_interval = setInterval("DepCoucheMouseOut2('" + name + "')", 50);
}

function DepCoucheMouseOver2(name)
{
  var layer;

  layer = document.getElementById(name);
  if (layer._sl_dir == 'h' && GetVal(layer.style.left) < layer._sl_maxpos) {
    layer.style.left = GetVal(layer.style.left)+5;
  } else {
    if (layer._sl_dir == 'v' && GetVal(layer.style.top) < layer._sl_maxpos) {
      layer.style.top = GetVal(layer.style.top)+5;
    } else {
      if (layer._up_interval != undefined) {
        clearInterval(layer._up_interval);
        layer._up_interval = undefined;
      }
    }
  }
}

function DepCoucheMouseOut2(name)
{
  var layer;

  layer = document.getElementById(name);
  if (layer._sl_dir == 'h' && layer._sl_minpos < GetVal(layer.style.left)) {
    layer.style.left = GetVal(layer.style.left)-5;
  } else {
    if (layer._sl_dir == 'v' && layer._sl_minpos < GetVal(layer.style.top)) {
      layer.style.top = GetVal(layer.style.top)-5;
    } else {
      if (layer._down_interval != undefined) {
        clearInterval(layer._down_interval);
        layer._down_interval = undefined;
      }
    }
  }
}
