
<!-- Begin Functions Javascript

function isBlank(str)
{
    if ((str == '') || (str == ' ') || (str == null)) {
        return true;
    } else {
        for (i = 0; i < str.length; i++) {
            if (str.charAt(i) != ' ') {
                return false;
            }
        }
    }

    return true;
}


function isNumeric(str)
{
    for (i = 0; i < str.length; i++) {
        if ((str.charAt(i) < '0') || (str.charAt(i) > '9')) {
            return false;
            break;
        }
    }

    return true;
}


function isAlphaNumeric(str)
{
    var strAlphabet = 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ';

    for (i = 0; i < str.length; i++) {
        var strChar = str.charAt(i);

        if ((strChar < '0') || (strChar > '9')) {        // check for characters
            if (strAlphabet.indexOf(strChar) == -1) {    // check for symbols
                return false;
            }
        }
    }

    return true;
}


function stripNonNumeric(strInput) {
// THIS FUNCTION WILL REMOVE ALL NON-NUMERIC CHARACTERS FROM A STRING (EXCEPT A PERIOD)
  var strResult = '';
  
  for (var i=0; i<strInput.length; i++) {
    var testchar = strInput.charAt(i);

    if (((testchar >= "0") && (testchar <= "9")) || (testchar == '.')) {
      strResult += testchar;
    }
  }

  return strResult;
}


function isValidPhone(field) {
// THIS FUNCTION TESTS FOR A VALID PHONE NUMBER AND RETURNS TRUE IF VALID
  var strPhone = stripNonNumeric(field);
  
  if ((strPhone.length != 7) && (strPhone.length != 10)) {
    return false;
  }
  else {
    return true;
  }
}


function isValidEmail(field) {
// THIS FUNCTION TESTS FOR A VALID EMAIL ADDRESS AND RETURNS TRUE IF VALID
  var email = field;
  var invalid = "~`|#$%&*()+={}!\"<>?/[]:; \\";
  var atCount = 0;
  var result = true;

  if (email.length < 5) {
    result = false;
  }
  if ((email.indexOf("@") == -1) || (email.indexOf("@") == 0)) {
    result = false;
  }
  if (email.indexOf(".") == -1) {
    result = false;
  }

  for (var i = 0; i < email.length; i++) {
    if ((invalid.indexOf(email.charAt(i)) != -1) && (result == true)){
      result = false;
    }

    if (email.charAt(i) == "@") {
      atCount++;
    }
  }

  if (atCount > 1) {
    result = false;
  }

  if (result == false) {
    return false;
  }
  else {
    return true;
  }
}


function isValidDate(str_month, str_day, str_year, boolCheckExpired) {
  if ((str_month == "00") || (str_day == "00") || (str_year == "0000")) {
    alert("The date you entered is incomplete.");
    return false;
  }

  // Chop leading zero off of 2-digit values...
  if (str_day.length == 2) str_day = (str_day.indexOf("0") == 0) ? str_day.charAt(1) : str_day;
  if (str_month.length == 2) str_month = (str_month.indexOf("0") == 0) ? str_month.charAt(1) : str_month;

  // Format as type integer...
  var day   = parseInt(str_day);
  var month = parseInt(str_month);
  var year  = parseInt(str_year);

  // Check for valid dates...
  if ((month == 2) && (day > 29) && ((year % 4) == 0)) {
    alert("The date you entered is incorrect.\nFebruary, " + year + " has only 29 days");
    return false;
  }
  else if ((month == 2) && (day > 28) && ((year % 4) != 0)) {
    alert("The date you entered is incorrect.\nFebruary, " + year + " has only 28 days");
    return false;
  }
  else if (((month == 4) || (month == 6) || (month == 9) || (month == 11)) && (day > 30)) {
    switch (month) {
      case 4: month = "April"; break;
      case 6: month = "June"; break;
      case 9: month = "September"; break;
      case 11: month = "November"; break;
    }
    alert("The date you entered is incorrect.\n" + month + " has only 30 days.");
    return false;
  }

  // Check for expired dates...
  if (boolCheckExpired == 1) {
    var today = new Date();
    js_month  = today.getMonth()+1;
    js_day    = today.getDate();
    js_year   = today.getFullYear();

    if ((year < js_year) || ((month < js_month) && (year <= js_year)) || ((day < js_day) && (month <= js_month) && (year <= js_year))) {
      alert("The date you entered has already passed.");
      return false;
    }
  }

  return true;
}


function wordCount(str)
{
    var arrWords = str.split(' ');
    return arrWords.length;
}


function jsChop(strInput)
{
    var intLength = strInput.length - 1;
    var strWhitespace = " \n\r\t";

    for (i = intLength; i >= 0; i--) {
        strChar = strInput.charAt(i);
        if (strWhitespace.indexOf(strChar) != -1) {
            strInput = strInput.substring(0, i);
        } else {
            break;
        }
    }

    return strInput;
}


function checkAll(strForm, strElement, blnChecked)
{
    objForm = document.forms[strForm];
    blnChecked = (blnChecked == 1) ? true : false;
  
    for (i = 0; i < objForm.length; i++) {
        var objElement = objForm.elements[i];
        if (objElement.type) {
            if ((objElement.type.toLowerCase() == 'checkbox') && (objElement.name == strElement)) {
                objElement.checked = blnChecked;
            }
        }
    }

    return;
}


function isCheckboxSelected(strForm, strElement)
{
    var objForm = document.forms[strForm];

    for (i = 0; i<objForm.length; i++) {
        var objTemp = objForm.elements[i];

        if ((objTemp.type.toLowerCase() == 'checkbox') && (objTemp.name == strElement)) {
            if (objTemp.checked) {
                return true;
            }
        }
    }

    return false;
}


function isRadioChecked(strForm, strElement)
{
    var objElement = document.forms[strForm].elements[strElement];

    for (i = 0; i < objElement.length; i++) {
        if (objElement[i].checked) {
            return true;
        }
    }

    return false;
}


function trimAll(strForm)
{
    var objForm = document.forms[strForm];
  
    for (j = 0; j < objForm.length; j++) {
        var objElement = objForm.elements[j];

        if (objElement.type) {
            if ((objElement.type.toLowerCase() == 'text') || (objElement.type.toLowerCase() == 'password')  || (objElement.type.toLowerCase() == 'textarea')) {
                objElement.value = jsChop(objElement.value);
            }
        }
    }
}

// End Functions Javascript -->
