// File Name : checkbox.js
// File Type : Java script
// Function  : Check box utility functions
// Date      : 26.JUL.2001
// Author    : Rocco Chong

/*
 * Tick the check box if the value of the check box
 * matchs the input parameter ps_match_value
 *
 * @param po_chkbox       Check box JavaScript object
 * @param ps_match_value  Value to be matched against check box value
 */
  function j_tick_chkbox(po_chkbox, ps_match_value) {

      if (typeof(po_chkbox.length) == 'undefined') { // Single checkbox
        if (po_chkbox.value == ps_match_value) {
          po_chkbox.checked = true;
        }
  
      } else {
        for (ji_i=0; ji_i < po_chkbox.length; ji_i++) {  // Array of multiple checkbox
  
          if (po_chkbox[ji_i].value == ps_match_value) {
            po_chkbox[ji_i].checked = true;
          }
  
        }
      }

  }

/*
 * Check all checkboxs of a check box object
 *
 * @param po_chkbox       Check box JavaScript object
 */
  function j_tick_all(po_chkbox) {

    if (typeof(po_chkbox.length) == 'undefined') { // Single checkbox
      po_chkbox.checked = true;

    } else {
      for (ji_i=0; ji_i < po_chkbox.length; ji_i++) {  
        po_chkbox[ji_i].checked = true;
      }
    }
  }

/*
 * Uncheck all checkboxs of a check box object
 *
 * @param po_chkbox       Check box JavaScript object
 */
  function j_untick_all(po_chkbox) {

    if (typeof(po_chkbox.length) == 'undefined') { // Single checkbox
      po_chkbox.checked = false;

    } else {
      for (ji_i=0; ji_i < po_chkbox.length; ji_i++) {  
        po_chkbox[ji_i].checked = false;
      }
    }
  }

/*
 * count how many checkbox is checked with.
 *
 * @param po_chkbox       Check box JavaScript object
 */
  function j_cnt_chkbox(po_chkbox) {

    ji_cnt = 0;

    if (typeof(po_chkbox) == 'undefined') {
      return ji_cnt;
    }

    if (typeof(po_chkbox.length) == 'undefined') { // Single checkbox
      if (po_chkbox.checked == true) {
        return ji_cnt = 1;
      }
    } else {
      for (ji_i=0; ji_i < po_chkbox.length; ji_i++) {  // Array of multiple checkbox
        if (po_chkbox[ji_i].checked == true) {
          ji_cnt++;
        }
      }
    }
    return ji_cnt;
  }



