// standard JavaScript goes in here
// code for doing popups
var popupCounter=0;
function destroyPopup(window_base, counter, w, h) {
	var txt = "height=" + h + ",width=" + w;
    if (counter > 0) {
        oldWin = window.open("", window_base + (counter-1), txt);
        oldWin.close();
    };
}

function createPopup(url_name, window_base, w, h)
{
 var txt = "toolbar=no,location=no,menubar=no,resizable=yes,scrollbars=yes,width=";
	txt = txt + w + ",height=" + h;
    destroyPopup(window_base, popupCounter, w, h);
    var popup = window.open(url_name, window_base + popupCounter,txt);
    ++popupCounter;
    popup.focus();
}

// end of code for doing popups

function init_select (tag, value, form_index)
{
  var elts = document.forms[form_index].elements;
  if (! elts[tag] || ! elts[tag].options)
        return;
  var options = elts[tag].options;
  var i;
  for (i=0; i< options.length; i++)
  {
    if (options[i].value == value)
    {
      elts[tag].selectedIndex = i;
      return;
    }
  }
  elts[tag].selectedIndex = 0;
}

function init_select_text (tag, value, form_index)
{
  var elts = document.forms[form_index].elements;
  var options = elts[tag].options;
  var i;
  for (i=0; i< options.length; i++)
  {
    if (options[i].text == value)
    {
      elts[tag].selectedIndex = i;
      return;
    }
  }
  elts[tag].selectedIndex = 0;
}

// multi-select values always stored as bitfields?
// This uses MySQL-style commas-spearated lists.  Woe to you if a value
// has a comma in it.
function init_multi (tag, value, form_index)
{
  var elts = document.forms[form_index].elements;
  var options = elts[tag].options;
  var values = value.split (",");
  var i, j;
  for (i=0; i< options.length; i++)
  {
    for (j=0; j< values.length; j++)
    if (options[i].value == values[j])
    {
      options[i].selected = true;
    }
  }
}

function init_radio (tag, value, form_index)
{
  var elts = document.forms[form_index].elements;
  var radios = elts[tag];
  var i;
  for (i=0; i< radios.length; i++)
  {
    if (radios[i].value == value)
    {
      radios[i].checked = true;
      return;
    }
  }
}

