
   function validate_form(frm) {       	
        var value = '';
        var errFlag = new Array();
        _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['address'].value;
        if (value == '' && !errFlag['address']) {
          errFlag['address'] = true;
          _qfMsg = _qfMsg + '\n - Address is required';
        }
        
        value = frm.elements['city'].value;
        if (value == '' && !errFlag['city']) {
          errFlag['city'] = true;
          _qfMsg = _qfMsg + '\n - City is required';
        }
        
        value = frm.elements['state'].value;
        if (value == '' && !errFlag['state']) {
          errFlag['state'] = true;
          _qfMsg = _qfMsg + '\n - State is required';
        }
        
        value = frm.elements['country'].value;
        if (value == '' && !errFlag['country']) {
          errFlag['country'] = true;
          _qfMsg = _qfMsg + '\n - Country is required';
        }

        // check email or phone first
        phone_val = frm.elements['phone'].value;
        email_val = frm.elements['email'].value;

          if(phone_val == '' && email_val == '') {
              _qfMsg = _qfMsg + '\n - Please supply an email address or a phone number so that we may contact you.';
          }


        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['questions'].value;
        if (value == '' && !errFlag['questions']) {
          errFlag['questions'] = true;
          _qfMsg = _qfMsg + '\n - Questions is required';
        }

        if (_qfMsg != '') {
          _qfMsg = 'Invalid information entered.' + _qfMsg;
          _qfMsg = _qfMsg + '\nPlease correct these fields.';
          alert(_qfMsg);
          return false;
        }
        return true;
      }
      
      function formatAsPhone(phone,req) {
           var digits  = phone.value.replace(/[^0-9]/ig, '');          
           if(digits.length > 0){                   
               switch(digits.length){
                   case 10:
                       phone.value = '(' + digits.substring(0, 3) + ') ' + digits.substring(3, 6) + '-' + digits.substring(6, 10);
                   break;
               }  
           }
        }
