function fnSubmitContactUsForm() {
  var message = '';
  var strValidPhoneReg = /[\(\)\.\- x]/g;
  var strValidFAXReg = /[\(\)\.\- ]/g;
//  var strValidEmailReg = /^[a-zA-Z0-9_\.]+@[a-zA-Z0-9\-]+\.(?:com|net|edu|biz|org|gov|int|info|mil|net|name|museum|coop|aero)$/;
//  var strValidEmailReg = /^[a-zA-Z0-9_\.]+@[a-zA-Z0-9\-]+\.[a-zA-Z]{2,3}$/;
  var strValidEmailReg = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;

  var val = document.formContactUs.ContactFirstName.value;
  if (val.length < 2) {
    message += 'Please enter your First Name\n';
  }

  var val = document.formContactUs.ContactLastName.value;
  if (val.length < 2) {
    message += 'Please enter your Last Name\n';
  }

  var val = document.formContactUs.ContactCompany.value;
  if (val.length < 2) {
    message += 'Please enter the name of your Company, Organization, or Univeristy name.\n';
  }

  var val = document.formContactUs.ContactEmail.value;
  var bValidEmailString = strValidEmailReg.test(val);
  if( !bValidEmailString) {
    message += 'The Email address is invalid\n    Please use the Format of name@domain.com\n';
  }

  var val = document.formContactUs.ContactPhone.value;
  var iPhoneDigits = val.replace(strValidPhoneReg, '');
//    strip out acceptable non-numeric characters
  if( isNaN( iPhoneDigits)) {
    message += 'The phone number contains illegal characters\n    Please use the Format of (999)999-9999 x999\n';
  }
  if( iPhoneDigits.length < 10) {
    message += 'Please enter your Phone number including the area code.\n';
  }

  if( document.formContactUs.ContactFAX.value.length > 0) {
    var val = document.formContactUs.ContactFAX.value;
    var iPhoneDigits = val.replace(strValidFAXReg, '');
//    strip out acceptable non-numeric characters
    if( isNaN( iPhoneDigits)) {
      message += 'The FAX number contains illegal characters\n    Please use the Format of (999)999-9999\n';
    }
    if( iPhoneDigits.length < 10) {
      message += 'Please enter your FAX number including the area code.\n';
    }
  }


  var val = document.formContactUs.ContactMessage.value
  if (val.length < 2) {
    message += 'Please enter a description of the information you are in need of in the Message area.\n';
  }

  if (! message) {
    return true;
  } else {
    alert( "Please Enter:\n" + message);
    return false;
  }
}


function fnCheckContactFields(myForm) {
  var message = '';
  var strValidPhoneReg = /[\(\)\.\- x]/g;
  var strValidFAXReg = /[\(\)\.\- ]/g;
//  var strValidEmailReg = /^[a-zA-Z0-9_\.]+@[a-zA-Z0-9\-]+\.(?:com|edu|biz|org|gov|int|info|mil|net|name|museum|coop|aero)$/;
//  var strValidEmailReg = /^[a-zA-Z0-9_\.]+@[a-zA-Z0-9\-]+\.[a-zA-Z]{2,3}$/;
  var strValidEmailReg = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;

  var val = myForm.ContactFullName.value;
  if( val.length < 2) {
    message += 'Please enter your Full Name (First Last)\n';
  }

  var val = myForm.ContactCompany.value;
  if (val.length < 1) {
    message += 'Please enter the name of your Company, Organization, or Univeristy name.\n';
  }

  var val = myForm.ContactEmail.value;
  var bValidEmailString = strValidEmailReg.test(val);
  if( !bValidEmailString) {
    message += 'The Email address is invalid\n    Please use the Format of name@domain.com\n';
  }


  var val = myForm.ContactPhone.value;
  var iPhoneDigits = val.replace(strValidPhoneReg, '');
//    strip out acceptable non-numeric characters
  if( isNaN( iPhoneDigits)) {
    message += 'The phone number contains illegal characters\n    Please use the Format of (999)999-9999 x999\n';
  }
  if( iPhoneDigits.length < 10) {
    message += 'Please enter your Phone number including the area code.\n';
  }

  if( myForm.ContactFAX.value.length) {
    var val = myForm.ContactFAX.value;
    var iPhoneDigits = val.replace(strValidFAXReg, '');
//    strip out acceptable non-numeric characters
    if( isNaN( iPhoneDigits)) {
      message += 'The FAX number contains illegal characters\n    Please use the Format of (999)999-9999\n';
    }
    if( iPhoneDigits.length < 10) {
      message += 'Please enter your FAX number including the area code.\n';
    }
  }

  if (! message) {
    return true;
  } else {
    alert(message);
    return false;
  }
}

function fnCheckLineItemFields( myForm) {
  var message = '';

  if( myForm.servicesDescription) {
    var val = myForm.servicesDescription.value;
    if (val.length < 2) {
      message += 'Please give us a Description of the services that you are looking for.\n';
    }
  } else {
    message += 'Please give us a Description of the services that you are looking for.\n';
  }

  if( !message) {
    return true;
  } else {
    alert(message);
    return false;
  }
}

function fnSubmitQuoteForm() {
  var bReturn = false;

  bReturn = fnCheckContactFields( document.formQuote);

  if( bReturn == true) {
    fnGetCartData();

    bReturn = fnCheckRequest( document.formQuote);
    if( bReturn == true ) {
      bReturn = fnAddToRequest( document.formQuote, 0);
    } else {
      bReturn = true;
    }
  }
  return bReturn;
}

function fnSubmitLineItemForm() {
  var bReturn = false;

  bReturn = fnCheckContactFields( document.formLineItem);

  if( bReturn == true) {
    fnGetLineItemData();
 
    bReturn = fnCheckLineItem( document.formLineItem);
    if( bReturn == true) {
      bReturn = fnAddLineItem( document.formLineItem, 0);
    } else {
      bReturn = true;
    }
  }
  return bReturn;
}

function fnSubmitServicesForm() {
  var bReturn = false;

  bReturn = fnCheckContactFields( document.formServices);
  if( bReturn == true) {
    bReturn = fnCheckLineItemFields( document.formServices);
  }
  return bReturn;
}