<!--//begin: client-side javascript

  //changelog:
  //  rsk-2003.05.12: added arcRecordLimitFormSort,arcRecordLimitFormPrev,arcRecordLimitFormNext
  //  rsk-2003.05.15: added arcFilterRecords
  //  rsk-2004.01.25: added arcAddEditFormSubmit
  //  rsk-2004.10.29: moved pleaseSelect() and countSelected() to modARCGeneral.js from modARCAdminView.js

  function countSelected(frm,ctl) {
    var j=0;
    if (!ctl) ctl = 'Key[]';
    if (typeof(frm.elements[ctl]) != "undefined") {
      if (typeof(frm.elements[ctl].length) == "undefined") {
        if (frm.elements[ctl].checked) j++;
      } else {
        for (var i=0; i<frm.elements[ctl].length; i++)
          if (frm.elements[ctl][i].checked) j++;
      }
    }
    return j;
  }

  function pleaseSelect(frm,val,ctl,msg) {
    if (!ctl) ctl = 'Key[]';
    if (!msg) msg = 'Please select ' + val + ' item';
    var result = ((val && countSelected(frm,ctl) >= val) || (!val && countSelected(frm,ctl) > 0));
    if (!result) alert(msg);
    return result;
  }

  function arcRecordLimitFormSort(frmLimit,fld) {
    //var frmLimit = document.forms[frm.name+'Limit'];
    frmLimit.Sort.value = (fld==frmLimit.Sort.value)? fld + " DESC" : fld;
    frmLimit.submit();
    return true;
  }
  function arcRecordLimitFormPrev(frmLimit,limit) {
    var start = parseInt(frmLimit.Start.value);
    var show = parseInt(frmLimit.Show.value);
    frmLimit.Start.value = Math.max(limit,start-show);
    frmLimit.submit();
    return true;
  }
  function arcRecordLimitFormNext(frmLimit,limit) {
    var start = parseInt(frmLimit.Start.value);
    var show = parseInt(frmLimit.Show.value);
    if (start+show>=limit)
         frmLimit.Start.value = start;
    else frmLimit.Start.value = start+show;
    frmLimit.submit();
    return true;
  }
  function arcRecordFilterFormSubmit (frmFilter,frmLimit,clearOnly) {
    function getFldName(fld) {
      var pos=fld.indexOf('[]');
      return pos==-1? fld : fld.substring(0,pos);
    }
    //reset all field values to null
    for (var i=0; i<frmFilter.elements.length; i++) {
      if ((frmFilter.elements[i].name!='') && 
          (typeof(frmLimit.elements[getFldName(frmFilter.elements[i].name)]) != "undefined")) {
        frmLimit.elements[getFldName(frmFilter.elements[i].name)].value = "";
      }
    }
    if (!clearOnly) {
      //then,copy all field values from frmFilter to frmLimit and submit it
      for (var i=0; i<frmFilter.elements.length; i++) {
        if (frmFilter.elements[i].name!='') {
          var fldName=getFldName(frmFilter.elements[i].name);
          var fldClass=fldName.substring(0,3);
          switch (fldClass) {
            case 'chk':
            case 'lst':
            case 'boo':
            case 'fil':
            case 'div':
            case 'rad':
              if ((frmFilter.elements[i].checked) || (frmFilter.elements[i].selected))
                frmLimit.elements[fldName].value += ","+frmFilter.elements[i].value;
              break;
            default:
              frmLimit.elements[fldName].value = escape(frmFilter.elements[i].value);
              break;
          }
          if (frmLimit.elements[fldName].value.substring(0,1)==",")
              frmLimit.elements[fldName].value = frmLimit.elements[fldName].value.substring(1,frmLimit.elements[fldName].length);
        }
      }
    }
    frmLimit.Start.value=0;
    frmLimit.submit();
    return false;
  }
  //shows/hides elements of a tabset using display style
  function arcTabsetClick(i) {
    if (typeof(tabset.length) == "undefined") {
      tabset.style.display = tabset.style.display==''? 'none' : '';
      tab.className = 'tabon';
    } else {
      for (var j=0; j<tabset.length; j++) {
        tabset[j].style.display = 'none';
        tab[j].className = 'tab';
      }
      tabset[i].style.display = tabset[i].style.display==''? 'none' : '';
      tab[i].className = 'tabon';
    }
  }
  //submits frmAddEdit generated by ARCPage->Head()
  function arcAddEditFormSubmit(mode,dataset,keyname,args) {
      document.frmAddEdit.Mode.value=mode? mode:'Add';
      document.frmAddEdit.Dataset.value=dataset? dataset:null;
      document.frmAddEdit.KeyName.value=keyname? keyname:null;
      if (mode=='Add')
           document.frmAddEdit.Defaults.value=args? args:null;
      else document.frmAddEdit.Key.value=args? args:null;
      document.frmAddEdit.submit();
  }

//end: client-side javascript-->