/* help popup */
function help(article)
{
  winatt = 'height=300,width=500,top=30,left=80,resizable=yes,scrollbars=yes';
  helpWin = window.open('/help.php?article='+article, '_blank', winatt);
}

/* photo popup */
function popupPhoto(id, mode, field)
{
  if (mode == null || mode == '') mode = 'normal';
  if (field == null || field == '') field = 'none';
  winatt = 'height=500,width=600,top=30,left=80,resizable=yes,scrollbars=yes';
  helpWin = window.open('/photos/photo.php?mode='+mode+'&field='+field+'&photo='+id, '_blank', winatt);
}

/* pick the current photo in viewer, close viewer */
function pickPhoto(pickerField, photoID)
{
  opener.setFieldValue(pickerField, photoID);
  window.close();
}

/* menu functions */
timeOn = null;
timeDelay = 1000; /* menu stays open for this many milliseconds when unattended */
menuOn = null;
menuActive = false;

function menuOver(id)
{
  if (timeOn != null) clearTimeout(timeOn);
  if (menuOn != null && menuOn != (id+'sub'))
  {
    var objMenu = new getObj(menuOn);
    objMenu.style.display = 'none';
  }
  var objMenu = new getObj(id+'sub');
  objMenu.style.display = 'block';
  menuOn = id+'sub';
  menuActive = true;
}

function menuOut(id)
{
  timeOn = setTimeout("timeOut()", timeDelay);
  var objMenu = new getObj(id+'sub');
  menuActive = false;
}

function timeOut()
{
  if (!menuActive)
  {
    var objMenu = new getObj(menuOn);
    objMenu.style.display = 'none';
  }
}


/* JavaScript mini API */
function getObj(name)
{
  if (document.all) {
    this.obj = document.all[name];
    this.style = document.all[name].style;
  } else if (document.getElementById) {
    this.obj = document.getElementById(name);
    this.style = document.getElementById(name).style;
  } else if (document.layers) {
    this.obj = getObjNN4(document,name);
    this.style = this.obj;
  }
}

/* simple field value setter - useful for form fields */
function setFieldValue(field, newValue)
{
  var objField = new getObj(field);
  objField.obj.value = newValue;
}

function getObjNN4(obj,name)
{
  var x = obj.layers;
  var foundLayer;
  for (var i=0;i<x.length;i++)
  {
    if (x[i].id == name)
      foundLayer = x[i];
    else if (x[i].layers.length)
      var tmp = getObjNN4(x[i],name);
    if (tmp) foundLayer = tmp;
  }
  return foundLayer;
}

function showObj()
{
  argv = showObj.arguments;
  for (i = 0; i < argv.length; i ++)
  {
    thisObj = new getObj(argv[i]);
    thisObj.style.display = '';
  }
}
function hideObj()
{
  argv = hideObj.arguments;
  for (i = 0; i < argv.length; i ++)
  {
    thisObj = new getObj(argv[i]);
    thisObj.style.display = 'none';
  }
}

