function validate_form(frm) {
  var value = '';
  var errFlag = new Array();
  var _qfGroups = {};
  _qfMsg = '';

  value = frm.elements['first_name'].value;
  if (value == '' && !errFlag['first_name']) {
    errFlag['first_name'] = true;
    _qfMsg = _qfMsg + '\n - First Name is required';
  }

  value = frm.elements['last_name'].value;
  if (value == '' && !errFlag['last_name']) {
    errFlag['last_name'] = true;
    _qfMsg = _qfMsg + '\n - Last Name is required';
  }

  value = frm.elements['email'].value;
  if (value == '' && !errFlag['email']) {
    errFlag['email'] = true;
    _qfMsg = _qfMsg + '\n - Email is required';
  }

  value = frm.elements['email'].value;
  var regex = /^((\"[^\"\f\n\r\t\v\b]+\")|([\w\!\#\$\%\&'\*\+\-\~\/\^\`\|\{\}]+(\.[\w\!\#\$\%\&'\*\+\-\~\/\^\`\|\{\}]+)*))@((\[(((25[0-5])|(2[0-4][0-9])|([0-1]?[0-9]?[0-9]))\.((25[0-5])|(2[0-4][0-9])|([0-1]?[0-9]?[0-9]))\.((25[0-5])|(2[0-4][0-9])|([0-1]?[0-9]?[0-9]))\.((25[0-5])|(2[0-4][0-9])|([0-1]?[0-9]?[0-9])))\])|(((25[0-5])|(2[0-4][0-9])|([0-1]?[0-9]?[0-9]))\.((25[0-5])|(2[0-4][0-9])|([0-1]?[0-9]?[0-9]))\.((25[0-5])|(2[0-4][0-9])|([0-1]?[0-9]?[0-9]))\.((25[0-5])|(2[0-4][0-9])|([0-1]?[0-9]?[0-9])))|((([A-Za-z0-9\-])+\.)+[A-Za-z\-]+))$/;
  if (value != '' && !regex.test(value) && !errFlag['email']) {
    errFlag['email'] = true;
    _qfMsg = _qfMsg + '\n - Email must be a valid email address';
  }

  value = frm.elements['phone'].value;
  if (value == '' && !errFlag['phone']) {
    errFlag['phone'] = true;
    _qfMsg = _qfMsg + '\n - Phone is required';
  }

  if (_qfMsg != '') {
    _qfMsg = 'Invalid information entered.' + _qfMsg;
    _qfMsg = _qfMsg + '\nPlease correct these fields.';
    alert(_qfMsg);
    return false;
  }
  return true;
}
function formatAsPhone(phone) {
       var digits = phone.value.replace(/[^0-9]/ig, '');
       if (!digits) {
           //alert('Please enter a valid area code for: '+id);
         return;
       }
       switch(digits.length){
           case 10:
               phone.value = '(' + digits.substring(0, 3) + ') ' + digits.substring(3, 6) + '-' + digits.substring(6, 10);
           break;
           default:
              //alert('Please enter 10 digits for '+phone.name+'.\nAn Area Code is required.');
              phone.value = digits;
             // phone.focus();
             break;
       }  
  }
  function formatAsDate(elm) {
         var digits = elm.value.replace(/[^0-9]/ig, '');
         if (!digits) {
          //alert('Please enter a valid date for: '+id);
           return;
         }
         switch(digits.length){
             case 8:
                 elm.value = digits.substring(0, 2) +'-'+ digits.substring(2, 4) +'-'+ digits.substring(4, 8);
             break;
             case 6:
                 elm.value = digits.substring(0, 2) +'-'+ digits.substring(2, 6)
             break
             default:
             /*
                alert('Please enter a valid date for: '+id);
                elm.value = digits;
                elm.focus();
                */
               break;
         }  
    }
