
  // =================================
  // Functions required by class 'cDt'
  // =================================

  // Applies a search filter
  function dt_applyFilter() {
    document.dt_filter_form.submit();
  }
  

  // Deletes the search filter
  function dt_deleteFilter() {
    document.dt_filter_form.ft.value='';
    document.dt_filter_form.submit();
  }
  

  // (Un)checks all row checkboxes on this page
  function dt_checkAll() {

    with(document.dt_data_form) {
      if (check_all.checked)
        newValue = true;
      else
        newValue = false; 
      for (var i=0; i < elements.length; i++) {
        if (elements[i].type == 'checkbox' && elements[i].name == 'row[]')
          elements[i].checked = newValue;
      }      
    }

  }


  // (Un)checks the 'check all' checkbox, depending on which checkboxes are checked
  function dt_updateCheckAll() {

    with(document.dt_data_form) {
      total = 0;
      totalChecked = 0;
      for (var i=0; i < elements.length; i++) {
        if (elements[i].type == 'checkbox' && elements[i].name == 'row[]') {
          total++;
          if (elements[i].checked) totalChecked++;
        }
      }
      if (totalChecked==total) {
        check_all.checked = true;
      } else {
        check_all.checked = false;
      }
    }

  }


