
/*------------------------------------------------------------------------------
/* Mentor program specific functions
------------------------------------------------------------------------------*/

/*
    case "NoSelection":       re = /[^\*]/;
    case "Email":             re = /^\w+((-|\.)\w+)*\@[A-Za-z\d]+((\.|-)[A-Za-z\d]+)*\.[A-Za-z\d]+$/;
    case "NoAlpha":           re = /^[^A-Za-z]+$/;
    case "NullOrEmpty":       re = /^.+$/;
    case "NoDigits":          re = /^[^0-9]+$/;
    case "Percentage":        re = /^(([0-9]+\.?[0-9]*)|([0-9]*\.?[0-9]+))%?$/;
    case "PositiveCurrency":  re = /^\$?((\d{1,3}((,\d{3})*\.?\d*)|(\d{3})*\.?\d*)|(\d*\.?\d+))$/;
    case "PositiveFloat":     re = /^(([0-9]+\.?[0-9]*)|([0-9]*\.?[0-9]+))$/;
*/

/*------------------------------------------------------------------------------
/* generic functions first
------------------------------------------------------------------------------*/

var NS4DOM = (document.layers) ? true:false;
var IEDOM = (document.all) ? true:false;
var W3CDOM = (document.getElementById) ? true:false;


// pre: id must be an existing object
function getObject(id) {
  if (NS4DOM)
    ref="document."+id;
  else if (IEDOM)
    ref="document.all."+id;
  else if (W3CDOM)
    ref="document.getElementById('"+id+"')";

  var object = eval(ref);

  return object;
}

function trim (str)
{
  return str.replace(/^\s+|\s+$/g, '') ;
}

function getSelectedRadio(buttonGroup) {
   // returns the array number of the selected radio button or -1 if no button is selected
   if (buttonGroup[0]) { // if the button group is an array (one button is not an array)
      for (var i=0; i<buttonGroup.length; i++) {
         if (buttonGroup[i].checked) {
            return i
         }
      }
   } else {
      if (buttonGroup.checked) { return 0; } // if the one button is checked, return zero
   }
   // if we get to this point, no radio button is selected
   return -1;
} // Ends the "getSelectedRadio" function

function getSelectedRadioValue(buttonGroup) {
   // returns the value of the selected radio button or "" if no button is selected
   var i = getSelectedRadio(buttonGroup);
   if (i == -1) {
      return "";
   } else {
      if (buttonGroup[i]) { // Make sure the button group is an array (not just one button)
         return buttonGroup[i].value;
      } else { // The button group is just the one button, and it is checked
         return buttonGroup.value;
      }
   }
} // Ends the "getSelectedRadioValue" function

function getSelectedCheckbox(buttonGroup) {
   // Go through all the check boxes. return an array of all the ones
   // that are selected (their position numbers). if no boxes were checked,
   // returned array will be empty (length will be zero)
   var retArr = new Array();
   var lastElement = 0;
   if (buttonGroup[0]) { // if the button group is an array (one check box is not an array)
      for (var i=0; i<buttonGroup.length; i++) {
         if (buttonGroup[i].checked) {
            retArr.length = lastElement;
            retArr[lastElement] = i;
            lastElement++;
         }
      }
   } else { // There is only one check box (it's not an array)
      if (buttonGroup.checked) { // if the one check box is checked
         retArr.length = lastElement;
         retArr[lastElement] = 0; // return zero as the only array value
      }
   }
   return retArr;
} // Ends the "getSelectedCheckbox" function

function getSelectedCheckboxValue(buttonGroup) {
   // return an array of values selected in the check box group. if no boxes
   // were checked, returned array will be empty (length will be zero)
   var retArr = new Array(); // set up empty array for the return values
   var selectedItems = getSelectedCheckbox(buttonGroup);
   if (selectedItems.length != 0) { // if there was something selected
      retArr.length = selectedItems.length;
      for (var i=0; i<selectedItems.length; i++) {
         if (buttonGroup[selectedItems[i]]) { // Make sure it's an array
            retArr[i] = buttonGroup[selectedItems[i]].value;
         } else { // It's not an array (there's just one check box and it's selected)
            retArr[i] = buttonGroup.value;// return that value
         }
      }
   }
   return retArr;
} // Ends the "getSelectedCheckBoxValue" function

//To use one of these functions, just make a call and pass the radio button or check box object. For example, if you want to find out if at least one check box is selected and the check box field name is MyCheckBox, then write the following statements:
//var checkBoxArr = getSelectedCheckbox(document.forms[0].MyCheckBox);
//if (checkBoxArr.length == 0) { alert("No check boxes selected"); }


