var DOM = (document.getElementById) ? 1 : 0;
var IE4 = (document.all && !document.getElementById) ? 1 : 0;
var NS4 = (document.layers && !document.getElementById) ? 1 : 0;

function getObj (id) {
  if(id) {
    if(document.getElementById) {
      return document.getElementById(id);
    } else
    if(document.all) {
      return document.all[id];
    } else
    if(document.layers) {
      return document.layers[id];
    }
  }
}
function getObjStyle (id) {
  if(id) {
    if(document.getElementById || document.all) {
      return eval('getObj(id).style');
    } else
    if(document.layers) {
      return getObj(id);
    }
  }
}
var tmp_block = false;
function blocco (id) {
  if(id) {
    var obj = false;

    if(tmp_block && (tmp_block != id)) {
        obj = getObjStyle(tmp_block);
        obj.display = 'none';
        tmp_block = false;
    }

    obj = getObjStyle(id);

    if(obj.display == 'none') {
        obj.display = 'block';
        tmp_block = id;
    } else {
        obj.display = 'none';
    }

  }
}

// --------
var lay_id=false;   // n. of layer
var lay_mode=false; // 'on' or 'off'
var lay_to=false;  // timeout sec.
function setLay(id,mode) {
    if(id && mode) {
        lay_id = id;
        lay_mode = mode;
    }
    return;
}
function resetLay() {
    lay_id = false;
    lay_mode = false;
    if(lay_to > 0) {
        clearTimeout(lay_to);
    }
    return;
}
function setLayMode() {
    if(lay_id && lay_mode) {
        var obj = getObjStyle(lay_id);
        if(DOM || IE4) {
            obj.visibility = (lay_mode=='on') ? 'visible' : 'hidden';
        } else {
            obj.visibility = (lay_mode=='on') ? 'show'    : 'hide';
        }
    }
    return;
}

// to call with onMouseOver
function showLay(id) {
    resetLay();
    setLay(id,'on');
    setLayMode();
}
// to call with onMouseOut
function hideLay(id,sec) {
    if(lay_to > 0) {
        clearTimeout(lay_to);
    }
    setLay(id,'off');
    lay_to = setTimeout('setLayMode()',sec);
}
