function ListItem(val,arr) {
    this.val = val;
    this.arr = arr;
    return this;
}
function OnSelectChange_int(par,frm,nam,sellist,def,notsel) {
  var j;
  for (j=frm.elements[nam].length+1;j>=0;j--) {
    frm.elements[nam].options[j] = null;
  }

  for (j=0;j<sellist.length;++j) {
    if (sellist[j].val == par)
        break;
  }
  if (j<sellist.length) {
    var defSel = 0;
    if (notsel)
      frm.elements[nam].options[0] = new Option(notsel,'',true);
    for (var i=0;i<sellist[j].arr.length;i++) {
      if (sellist[j].arr[i][0]==def) defSel = frm.elements[nam].options.length;

      frm.elements[nam].options[frm.elements[nam].options.length] =
        new Option(sellist[j].arr[i][1],sellist[j].arr[i][0],false);
    }
    frm.elements[nam].selectedIndex = defSel;
    frm.elements[nam].onchange();
  }
  else {
    frm.elements[nam].options[0] = new Option('','',true);
    frm.elements[nam].selectedIndex = 0;
    frm.elements[nam].onchange();
  }
}
function OnSelect2Change(sel,nam) {
  var val = sel.options[sel.selectedIndex].value;
  var frm = sel.form;
  frm.elements[nam].value=val;
}

function OnSelectChange(sel,nam,sellist,def,notsel) {
  var par = sel.options[sel.selectedIndex].value;
  var frm = sel.form;
  OnSelectChange_int(par,frm,nam,sellist,def,notsel)
}

function OnInputChange(sel,nam,sellist,def,notsel) {
  var par = sel.value;
  var frm = sel.form;
  OnSelectChange_int(par,frm,nam,sellist,def,notsel)
}


