

function trimSpacesFromAllTextFields(){
   j = 0;
   while ( j < document.forms.length){
      i = 0;
      while ( i < document.forms[j].elements.length){
         if (document.forms[j].elements[i].type == "text"){
            document.forms[j].elements[i].value = trim(document.forms[j].elements[i].value);
         }
         i++;
      }
      j++
   }
   return true;   
};

function autoTab(input,len, e)
{
  var keyCode = (isNetscape) ? e.which : e.keyCode; 
  var filter = (isNetscape) ? [0,8,9] : [0,8,9,16,17,18,37,38,39,40,46];

  if(input.value.length >= len && !containsElement(filter,keyCode))
  {
    input.value = input.value.slice(0, len);
    input.form[(getIndex(input)+1) % input.form.length].focus();
  } 

  function containsElement(arr, ele)
  {
    var found = false, index = 0;

    while(!found && index < arr.length)

      if(arr[index] == ele)
        found = true;
      else
        index++;

    return found;
  }

  function getIndex(input) 
  {
    var index = -1, i = 0, found = false;

    while (i < input.form.length && index == -1)

       if (input.form[i] == input)
         index = i;
       else 
         i++;

    return index;
  }

  return true;
}

/** disableAllLinks(msg) and disableAllForms()
    for use with the Printer Friendly page.
    Typical msg usage: disableAllLinks('Links disabled for printable page...');*/
function disableAllLinks(msg)
{
   var message = (msg != null) ? msg : "";
   var linkCount = document.links.length;
   for(var i = 0; i<linkCount; i++)
   {
         document.links[i].href="javascript:// " + message;
   }
}
function disableAllForms()
{
   var formCount = document.forms.length;
   for(var i = 0; i < formCount; i++)
   {
      var currentFormLength = document.forms[i].elements.length;
      for(var ii = 0; ii < currentFormLength; ii++)
      {
         document.forms[i].elements[ii].disabled = true;
      }
   }
}

/* *************** 
===== types for validateAll ===== */
var sep            = ". -";      // Seperators
var okText         = "";         // To toss or reject.
var okAlpha         = "abcdefghijklmnopqrstuvwxyz";
var okNumb         = "0123456789";
var okAlphaSep      = okAlpha + sep;
var okNumbSep      = okNumb + sep;
var okAlphaNumb    = okAlpha + okNumb;
var okEmail         = okAlphaNumb + "@._-";

/* ===== BEGIN type descriptions BEGIN ===== 
TYPE           DONE   Description
text           [X]
alpha          [X]
numb           [X]
currency       [X]   digits w/ "."(period) as seperator     (3334.3334)
numbMINxMAX    [ ]	
date           [X]   valid 8 digit date w/ any separator 	(mm dd yyyy) 
zip            [X]   5 or 9 digits w/ ". -" as separator    (12345 6789)
   zip NOTE: "."(period), " "(space) or "-"(dash) as separator
phone          [X]   10 digits w/ any separator                (123 456 7890)
ssn            [X]   9 digits w/ any separator                 (123 45 6789)
email          [X]   valid email format                        (username@domain.ext) 
pick           [X]   must make a selection that has a value    (dropdown, checkbox, or radio)
pickX          [X]   must make X number of selections w/value  (dropdown, checkbox, or radio)
   NOTE: pick does not yet pay attention to the 'required' parameter.
      If you set type to 'pick' it is automatically considered required.
===== END type descriptions END =====  */

var vaFieldList = new Array;
/* This is a dummy array. In the case that no array is loaded on the HTML page,
but the validator is still being ran.
new Array(<required:TRUE or FALSE>, <userlabel>, <type of validation>);
*/

var vaErrorMsg = "";
/* ********************
validateAll( <name of form> ) RETURNS <TRUE> or Pops up error message
******************** */
function validateAll(formName) {

vaErrorMsg  = "\n";
vaErrorMsg += "Problem(s) with the form:\n";
vaErrorMsg += "~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~               \n\n";
var errorCount = 0;

   for(var vaList = 0; vaList < vaFieldList.length; vaList++) {
      var findElement = vaFieldList[vaList];
      for(var fe = 0; fe < vaForm.length; fe++) {
         if(vaForm.elements[fe].name == findElement) {
            var findReq = eval(findElement + '[0]')
			var findLabel = eval(findElement + '[1]')
            var findType = eval(findElement + '[2]')
            var fieldErrorMsg = "";
            var eCount = 0;
            if(findReq == "true" && findType != 'pick') {
                //alert(">" + vaForm.elements[fe].value + "<");
               if( vaForm.elements[fe].value == "" ) {
                  fieldErrorMsg += "   Is required.";
                  eCount++;
               }
            }
            if(findType == "text") {
               if( (!validateText(formName, findElement)) && (vaForm.elements[fe].value != "") ) {
                  fieldErrorMsg += "  Invalid characters: [" + okText + "].";
                  eCount++;
               }
            }
            if(findType == "alpha") {
               if( (!validateAlpha(formName, findElement)) && (vaForm.elements[fe].value != "") ) {
                  fieldErrorMsg += "  Only alpha allowed.";
                  eCount++;
               }
            }
            if(findType == "numb") {
               if( (!validateNumb(formName, findElement)) && (vaForm.elements[fe].value != "") ) {
                  fieldErrorMsg += "  Only numbers allowed.";
                  eCount++;
               }
            }
            if(findType == "date") {
               if( (!validateDate(formName, findElement)) && (vaForm.elements[fe].value != "") ) {
                  fieldErrorMsg += "  Must be a valid date. (MMDDYYYY or M-D-YYYY)";
                  eCount++;
               }
            }
            if(findType == "zip") {
               if( !validateZip(formName, findElement) && (vaForm.elements[fe].value != "") ) {
                  fieldErrorMsg += "  Must be a 5 or 9 digit zip code. (123451234 or 12345-1234)";
                  eCount++;
               }
            }
            if(findType == "phone") {
               var phoneTest = charStrip(vaForm.elements[fe].value, okNumb, 'keep');
               if( phoneTest.length != 10 && vaForm.elements[fe].value != "" ) {
                  fieldErrorMsg += "  Must be a 10 digit phone number. (1231231234 or 123-123-1234)";
                  eCount++;
               }
            }
            if(findType == "ssn") {
               var ssnTest = charStrip(vaForm.elements[fe].value, okNumb, 'keep');
               if( ssnTest.length != 9 && vaForm.elements[fe].value != "" ) {
                  fieldErrorMsg += "  Must be a 9 digit Social Security Number. (123121234 or 123-12-1234)";
                  eCount++;
               }
            }
            if(findType == "email") {
               if( (!validateEmail(formName, findElement)) && (vaForm.elements[fe].value != "") ) {
                  fieldErrorMsg += "  Must be a valid email address.";
                  eCount++;
               }
            }
            if(findType == "currency") {
					if( (!validateCurrency(formName, findElement)) && (vaForm.elements[fe].value != "") ) {
						fieldErrorMsg += "  Must be a number with one or less decimal points.";
						eCount++;
					}
				}
            if( findType.indexOf("pick") != -1 ) {
            var pickHowMany = charStrip(findType, okNumb, 'keep');
            pickHowMany = ( pickHowMany == null || pickHowMany == "" ) ? 1 : pickHowMany;
               if(vaForm.elements[fe].type.indexOf('select') != -1){
                  if( !validatePick(formName, findElement, pickHowMany) ){
                     fieldErrorMsg += (pickHowMany==1) ? "  Please make a selection." : "  Please make " + pickHowMany + " selections.";
                        eCount++;
                  }
               }
               if(vaForm.elements[fe].type == 'radio'){ 
                  if( !validateRadio(formName, findElement, pickHowMany) ){
                     fieldErrorMsg += (pickHowMany==1) ? "  Please check a selection." : "  Please check " + pickHowMany + " selections.";
                        eCount++;
                  }
                  var skipElements = eval('document.' + formName + '.' + findElement + '.length')
                  fe += (skipElements - 1);
               }
            }
            if(eCount > 0) {
               vaErrorMsg += findLabel + " -" + fieldErrorMsg + "\n";
               errorCount++;
            }
         }
      }
   }
   vaErrorMsg += "\n~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\nPlease correct these issues and try again.";
   
   if(errorCount >0) {
      alert(vaErrorMsg);
   }
   else {
      formatAll(formName);
      return true;
   }
} // End validateAll
/* ********************
validateAlpha( <name of form>, <name of field> ) RETURNS <TRUE> or <FALSE>
******************** */
function validateAlpha(formName, fieldName){
var okChar = okAlpha;
var checkMe = eval('document.' + formName + '.' + fieldName + '.value');
   if( !charCheck(checkMe, okChar, 'accept') ) {
      return false;
   }
   else {
      return true;
   }
} // End validateAlpha
/* ********************
validateNumb( <name of form>, <name of field> ) RETURNS <TRUE> or <FALSE>
******************** */
function validateNumb(formName, fieldName){
var okChar = okNumb;
var checkMe = eval('document.' + formName + '.' + fieldName + '.value');
   if( !charCheck(checkMe, okChar, 'accept') ) {
      return false;
   }
   else {
      return true;
   }
} // End validateNumb
/* ********************
validateText( <name of form>, <name of field> ) RETURNS <TRUE> or <FALSE>
******************** */
function validateText(formName, fieldName){
var okChar = okText;
var checkMe = eval('document.' + formName + '.' + fieldName + '.value');
   if( !charCheck(checkMe, okChar, 'reject') ) {
      return false;
   }
   else {
      return true;
   }
} // End validateText
/* ********************
validateDate( <name of form>, <name of field> ) RETURNS <TRUE> or <FALSE>
******************** */
function validateDate(formName, fieldName)
{
   var okChar = okNumb;
   var monthDays = new Array(31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31);
   var checkMe = eval('document.' + formName + '.' + fieldName + '.value');
   var checkNumbers = charStrip(checkMe, okChar, 'keep');
   if(checkNumbers.length != 8)
   {
      var sTemp = "";
      var sArray = new Array;
      var sCount = 0;
      for(var s = 0; s < checkMe.length; s++)  // find seperators
      {
         sTemp = checkMe.substring(s, s+1);
         if( !charCheck(sTemp, okNumb) )
         {
            sArray[sCount] = s;
            sCount ++;
         }
      }
      if( sArray.length > 2 ||
          sArray.length < 2 ||
          (sArray[1] == sArray[2] - 1) ||
          (sArray[1] == 0) ||
          (sArray[2] == checkMe.length - 1) )
      {
         return false;
      }
      var mm   = (sArray[0] < 2) ? "0"+checkMe.substring(0,sArray[0]) : checkMe.substring(0,sArray[0]);
      var dd   = (sArray[1] - sArray[0] < 3) ? "0"+checkMe.substring(sArray[0]+1,sArray[1]) : checkMe.substring(sArray[0]+1,sArray[1]);
      var yyyy = charStrip(checkMe.substring(checkMe.length - 4,checkMe.length),okNumb,'keep');
   }
   if(checkNumbers.length == 8)
   {
      var mm   = checkNumbers.substring(0,2);
      var dd   = checkNumbers.substring(2,4);
      var yyyy = checkNumbers.substring(4,8);
   }
   if( ((yyyy%4)==0)  &&  !((yyyy%100)==0 && (yyyy%400)!=0) )
   {
      monthDays[1] = 29;
   }
   if(yyyy.length < 4)
   {
      return false;
   }
   if( (mm < 1) || (mm > 12) )
   {
      return false;
   }
   if( (dd < 1) || (dd > monthDays[mm-1]) )
   {
      return false;
   }
   else{
      var writeToField = eval('document.' + formName + '.' + fieldName);
      writeToField.value =  mm + "-" + dd + "-" + yyyy;
      return true;
   }
} // End validateDate
/* ********************
validateZip( <name of form>, <name of field> ) RETURNS <TRUE> or <FALSE>
******************** */ 
function validateZip(formName, fieldName){
var okChar = okNumbSep;
var checkMe = eval('document.' + formName + '.' + fieldName + '.value');
	if( !(checkMe.length == 5 || checkMe.length == 9 || (checkMe.length == 10 && charCheck(checkMe.substring(5,6),sep,"accept"))) ) return false;
	if( !charCheck(checkMe, okChar, 'accept') ) return false;
checkMe = charStrip(checkMe, okNumb, 'keep');
	if( !(checkMe.length == 5 || checkMe.length == 9) ) return false;
	else return true;
} // End validateZip
/* ********************
validatePick( <name of form>, <name of field>, <number of selections required> ) RETURNS <TRUE> or <FALSE>
******************** */ 
function validatePick(formName, fieldName, pickHowMany){
var checkMe = eval('document.' + formName + '.' + fieldName);
var selectedValue = "";
var pickHowMany = ( pickHowMany == null || pickHowMany == "" ) ? 1 : pickHowMany;
var pickedCount = 0;
   for(var i = 0; i < checkMe.length; i++) {
   selectedValue = checkMe[i].value;
      if( checkMe[i].selected == true && !((selectedValue == null) || (selectedValue == "")) ) {
         pickedCount++;
      }
   }
   if( pickedCount == pickHowMany ) {
      return true;
   }
   else return false;
} // End validatePick
/* ********************
validateRadio( <name of form>, <name of field>, <number of selections required> ) RETURNS <TRUE> or <FALSE>
******************** */ 
function validateRadio(formName, fieldName, pickHowMany)
{
   var checkMe = eval('document.' + formName + '.' + fieldName);
   var selectedValue = getRadio(formName, fieldName);
   var pickHowMany = ( pickHowMany == null || pickHowMany == "" ) ? 1 : pickHowMany;
   var checkedCount = 0;
   var checkMeIsArray = (checkMe.checked == null);
   if( checkMeIsArray )
   {
      for(var i = 0; i < checkMe.length; i++)
      {
   		if( checkMe[i].checked == true && !((selectedValue == null) || (selectedValue == "")) )
         {
   			checkedCount++;
   		}
   	}
   }
   else if( !checkMeIsArray )
   {
      if( checkMe.checked == true && !((selectedValue == null) || (selectedValue == "")) )
      {
         checkedCount++;
      }
   }
	if( checkedCount == pickHowMany )
   {
	   return true;
	}
   else return false;
} // End validateRadio
/* ********************
validateEmail( <name of form>, <name of field> ) RETURNS <TRUE> or <FALSE>
******************** */
function validateEmail(formName, fieldName) {
var okChars= okEmail;
var tempAt = ""
var temp = ""
var checkMe = eval('document.' + formName + '.' + fieldName);
var validEmail = checkMe.value;
var a = validEmail.lastIndexOf('@');
var d = validEmail.lastIndexOf('.');
var dd = validEmail.lastIndexOf('..');
var atCount = 0;
/* Check if the last '@': is 0, is not present, is not last char */
   if( (a == 0) ||
      (a == -1) ||
      (a == validEmail.length - 1) ||
/* Check if the last '.': is 0, is not present, is not last char, is not before '@' */
      (d == 0) ||
      (d == -1) ||
      (d == validEmail.length - 1) ||
      (d < a) ||
/* Check if any '..' */
      (dd != -1) ) { 
      return false;
   }
/* Check if '.' is first char */
   else if( validEmail.indexOf('.') == 0 )   { 
      return false;
   }
/* Check if '.' is adjacent to '@' */
   else if( (validEmail.substring(a+1,a+2) == '.') || (validEmail.substring(a,a-1) == '.') ) { 
      return false;
   }
   else {
/* Check each char and count the '@' */
      for (var j = 0; j < validEmail.length; j++) {
         tempAt = validEmail.substring(j,j+1)
         if (tempAt == '@') {
            atCount++;
            if(atCount > 1)   {
               return false;
            }
         }
      }
/* Check each char and compare to okChars list */
      for (var i = 0; i < validEmail.length; i++)   {
         temp = validEmail.substring(i,i+1)
         if (okChars.indexOf(temp.toLowerCase()) == -1) {
            return false;
         }
      }
/* If if passes everything do this step: */
      return true;
   }
} // End validateEmail
/* ********************
validateCurrency( <name of form>, <name of field> ) RETURNS <TRUE> or <FALSE>
******************** */
function validateCurrency(formName, fieldName)
{
   var okChars= okNumb + ".";
   var tempPeriod = "";
   var temp = "";
   var checkMe = eval('document.' + formName + '.' + fieldName + '.value');
   var pCount = 0;
/* Check each char and count the '.' */
   for (var j = 0; j < checkMe.length; j++)
   {
      tempPeriod = checkMe.substring(j,j+1);
      if (tempPeriod == '.')
      {
      	pCount++;
      	if(pCount > 1 || (pCount == 1 && checkMe.length == 1))
         {
      		return false;
      	}
      }
   }
/* Check each char and compare to okChars list */
   for (var i = 0; i < checkMe.length; i++)
   {
      temp = checkMe.substring(i,i+1);
      if (okChars.indexOf(temp) == -1)
      {
   	   return false;
      }
   }
/* If if passes everything do this step: */
		return true;
} // End validateCurrency
/* ********************
charCheck( <string to be checked>, <list of characters>, <accept || reject charList *option*> ) 
RETURNS <TRUE> or <FALSE>
If no *options* given:
 charList defaults to: "!@#$%^&*()_+-="
 acceptReject defaults to "accept"
******************** */
function charCheck( stringToCheck, charList, acceptReject ) {
var temp          = "";
var toDo          = "";
var useChars       = ( charList == null ) ? "!@#$%^&*()_+-=" : charList;
if( (acceptReject == null) || (acceptReject == "accept" ) ){ 
   toDo          = "accept";
}
else if( acceptReject == "reject" ) {
   toDo          = acceptReject;
}
   if(toDo == "reject") {
      for (var i = 0; i < stringToCheck.length; i++) {
         temp = stringToCheck.substring(i,i+1);
          if(useChars.indexOf(temp.toLowerCase()) != -1) { return false; }
      }
      return true;
   }
   if(toDo == "accept") {
      for (var i = 0; i < stringToCheck.length; i++) {
         temp = stringToCheck.substring(i,i+1);
          if(useChars.indexOf(temp.toLowerCase()) == -1) { return false; }
      }
      return true;
   }
} // End charCheck
/* ********************
charStrip( <string to be stripped>, <list of characters *option*>, <keep charList *option*> ) 
RETURNS <string without toStrip charicters>
If no *options* given:
 charList defaults to: "!@#$%^&*()_+-="
 keepToss defaults to "toss"
******************** */
function charStrip( stringToStrip, charList, keepToss ) {
var temp         = "";
var strippedText    = "";
var useChars       = ( charList == null ) ? "!@#$%^&*()_+-=" : charList;
var toDo          = "";
if( (keepToss == null) || (keepToss == "toss" ) ){ 
   toDo          = "toss";
}
else if( keepToss == "keep" ) {
   toDo          = keepToss;
}
   if(toDo == "toss") {
      for (var i = 0; i < stringToStrip.length; i++) {
         temp = stringToStrip.substring(i,i+1);
          if(useChars.indexOf(temp.toLowerCase()) != -1) { strippedText += ""; }
         else { strippedText += temp; }
      }
   }
   if(toDo == "keep") {
      for (var i = 0; i < stringToStrip.length; i++) {
         temp = stringToStrip.substring(i,i+1);
          if(useChars.indexOf(temp.toLowerCase()) == -1) { strippedText += ""; }
         else { strippedText += temp; }
      }
   }
   // strip leading spaces 
   while (strippedText.substring(0,1) == ' ') {
      strippedText = strippedText.substring(1, strippedText.length);
   }
   // strip trailing spaces 
   while (strippedText.substring(strippedText.length-1, strippedText.length) == ' ') {
      strippedText = strippedText.substring(0, strippedText.length-1);
   }
   return strippedText;
} // End charStrip
/* ********************
getRadio( <name of form>, <name of field> ) RETURNS <value of selected radiobutton>
******************** */ 
function getRadio(formName, fieldName)
{
   var checkMe = eval('document.' + formName + '.' + fieldName);
   var valueOfRadio = "";
   if( checkMe != null )
   {
      var checkMeIsArray = (checkMe.checked == null);
      if( checkMeIsArray )
      {
   	   for(chkd = 0; chkd < checkMe.length; chkd++)
         {
   		   if (checkMe[chkd].checked)
            {
   			   valueOfRadio = checkMe[chkd].value;
   		   }
   	   }
      }
      else if( !checkMeIsArray )
      {
         if (checkMe.checked)
         {
            valueOfRadio = checkMe.value;
         }
      }
   }
   return valueOfRadio;
} // End getRadio

/* ********************
getCheckbox( <name of form>, <name of field> ) RETURNS <array values of selected checkboxes>
******************** */ 
function getCheckbox(formName, fieldName)
{
   var checkMe = eval('document.' + formName + '.' + fieldName);
   var valueOfCheckbox = new Array();
   if( checkMe != null )
   {
      var checkMeIsArray = (checkMe.checked == null);
      if( checkMeIsArray )
      {
   	   for(var chkd = 0; chkd < checkMe.length; chkd++)
         {
   		   if (checkMe[chkd].checked)
            {
   			   valueOfCheckbox[valueOfCheckbox.length] = checkMe[chkd].value;
            }
   	   }
      }
      else if( !checkMeIsArray )
      {
         if (checkMe.checked)
         {
            valueOfCheckbox[0] = checkMe.value;
         }
      }
   }
   return valueOfCheckbox;
} // End getCheckbox

/* ********************
getIndexesFromSelect( <name of form>, <name of field> ) RETURNS <array values of selected checkboxes>
******************** */ 
function getIndexesFromSelect(formName, fieldName)
{
   var checkMe = eval('document.' + formName + '.' + fieldName);
   var valueOfSelect = '';
   if( checkMe != null )
   {
      for(var sel = 0; sel < checkMe.length; sel++)
      {
         if (checkMe.options[sel].selected)
         {
            if(valueOfSelect == '')
            {
               valueOfSelect += sel + '';
            }
            else
            {
               valueOfSelect += ', ' + sel;
            }

         }
      }
   }
   return valueOfSelect;
} // End getIndexesFromSelect


/* ********************
getValuesFromSelect( <name of form>, <name of field> ) RETURNS <array values of selected options>
******************** */
function getValuesFromSelect(formName, fieldName)
{
   var checkMe = eval('document.' + formName + '.' + fieldName);
   var valueOfSelect = '';
   if( checkMe != null )
   {
      for(var sel = 0; sel < checkMe.length; sel++)
      {
         if (checkMe.options[sel].selected)
         {
            if(valueOfSelect == '')
            {
               valueOfSelect += checkMe.options[sel].value + '';
            }
            else
            {
               valueOfSelect += ',' + checkMe.options[sel].value;
            }

         }
      }
   }
   return valueOfSelect;
} // End getValuesFromSelect

/* ********************
formatAll
******************** */
function formatAll(formName) {
var vaForm = eval('document.' + formName);
   for(var vaList = 0; vaList < vaFieldList.length; vaList++) {
      var findElement = vaFieldList[vaList];
      for(var fe = 0; fe < vaForm.length; fe++) {
         if(vaForm.elements[fe].name == findElement) {
            var findType = eval(findElement + '[2]')
            if(findType == "date" || findType == "zip" || findType == "phone" ||
            findType == "ssn") {
               vaForm.elements[fe].value = charStrip(vaForm.elements[fe].value,okNumb,"keep");
              }
          }
      }
   }
} // End formatAll

/* ********************
formMonitor( <name of form>, <capture | compare> ) 'compare' RETURNS true if unchanged.
'capture' when the page loads, 'compare' when leaving.
******************** */ 
var completeFormContents = new Array();
function formMonitor( formName, action )
{
   df = eval('document.' + formName);
   var captureForm = new Array();

   for(var fi = 0; fi < df.length; fi++)
   {
      captureForm[fi] = _getMonitorElementValue(df.elements[fi]);
   }

   if(action == 'capture')
   {
      completeFormContents = captureForm;
   }
   else if(action == 'compare')
   {
      if( _compareArrays(completeFormContents, captureForm) )
      {
         // alert( 'No changes have been made to this form...' );
         return true;
      }
      else
      {
         // alert( 'Changes have been made. You should save first...' );
         return false;
      }
   }
} // End formMonitor

/** Support functions for formMonitor BEGIN */
   function _getMonitorElementValue(element)
   {
      var eType  = element.type.toLowerCase();
      var eValue = "";

      if( eType == 'text' || eType == 'password' || eType == 'textarea' || eType == 'hidden' )
      {
         eValue = element.value;
      }
      else if( eType == 'radio' )
      {
         eValue = element.checked;
      }
      else if( eType == 'checkbox' )
      {
         eValue = element.checked;
      }
      else if( eType == 'select-one' || eType == 'select-multiple' )
      {
         eValue = getIndexesFromSelect(element.form.name, element.name);
      }
      else if( eType == 'button' || eType == 'reset' || eType == 'submit' || eType == 'file' )
      {
         // Do nothing but leave an empty slot in the array.
         eValue = '';
      }
      return eValue;
   }
   function _compareArrays(array1, array2)
   {
      var areEqual = true;
      if( array1.length != array2.length )
      {
         areEqual = false;
      }
      for(var i = 0; i < array1.length; i++)
      {
         if(array1[i] != array2[i])
         {
            areEqual = false;
         }
      }
      return areEqual;
   }
   
   

  function addZero(vNumber){ 
    return ((vNumber < 10) ? "0" : "") + vNumber 
  } 
        
  function formatDate(vDate, vFormat){ 
    var vDay                      = addZero(vDate.getDate()); 
    var vMonth            = addZero(vDate.getMonth()+1); 
    var vYearLong         = addZero(vDate.getFullYear()); 
    var vYearShort        = addZero(vDate.getFullYear().toString().substring(3,4)); 
    var vYear             = (vFormat.indexOf("yyyy")>-1?vYearLong:vYearShort) 
    var vHour             = addZero(vDate.getHours()); 
    var vMinute           = addZero(vDate.getMinutes()); 
    var vSecond           = addZero(vDate.getSeconds()); 
    var vDateString       = vFormat.replace(/dd/g, vDay).replace(/MM/g, vMonth).replace(/y{1,4}/g, vYear) 
    vDateString           = vDateString.replace(/hh/g, vHour).replace(/mm/g, vMinute).replace(/ss/g, vSecond) 
    vDateString = vDate.toLocaleString();
    return vDateString 
  } 



  function clearAll(formName) {
  
  
  
  
  
  }

/** Support functions for formMonitor END */