function dfcontact_checkForm() {
  var missingFields = '';
  var firstObject = '';
  if ( ( document.dfContactForm.name.type == 'text' && document.dfContactForm.name.value == "" ) || ( document.dfContactForm.name.type == 'textarea' && document.dfContactForm.name.value == "" ) || ( document.dfContactForm.name.type == 'checkbox' && !document.dfContactForm.name.checked ) ) {
    missingFields += '- Имя, фамилия\n';
    if ( firstObject == "" ) {
      firstObject = document.dfContactForm.name;
    }
  }
  if ( ( document.dfContactForm.email.type == 'text' && document.dfContactForm.email.value == "" ) || ( document.dfContactForm.email.type == 'textarea' && document.dfContactForm.email.value == "" ) || ( document.dfContactForm.email.type == 'checkbox' && !document.dfContactForm.email.checked ) ) {
    missingFields += '- Эл. почта\n';
    if ( firstObject == "" ) {
      firstObject = document.dfContactForm.email;
    }
  }
  if ( ( document.dfContactForm.message.type == 'text' && document.dfContactForm.message.value == "" ) || ( document.dfContactForm.message.type == 'textarea' && document.dfContactForm.message.value == "" ) || ( document.dfContactForm.message.type == 'checkbox' && !document.dfContactForm.message.checked ) ) {
    missingFields += '- Текст\n';
    if ( firstObject == "" ) {
      firstObject = document.dfContactForm.message;
    }
  }
  if ( missingFields ) {
    alert( unescape( 'Пожалуйста, зполните следующие поля:\n' + missingFields ) );
    firstObject.focus();
    return false;
  } else {
    if ( document.dfContactForm.email.value && !validMail( document.dfContactForm.email.value ) ) {
      alert( unescape( 'Пожалуйста, введите правильный адрес электронной почты!' ) );
      document.dfContactForm.email.focus();
      return false;
    } else {
      return true;
    }
  }
}

function validMail(s) {
  var a = false;
  var res = false;
  if ( typeof( RegExp ) == 'function') {
    var b = new RegExp( 'abc' );
    if ( b.test( 'abc' ) == true ) {
      a = true;
    }
  }
  if ( a == true ) {
    reg = new RegExp( '^([a-zA-Z0-9\-\.\_]+)' +
                   '(\@)([a-zA-Z0-9\-\.ДдЬьЦц]{2,255})' +
                   '(\.)([a-zA-Z]{2,6})$' );
    res = ( reg.test( s ) );
  } else {
    res = ( s.search( '@' ) >= 1 &&
    s.lastIndexOf( '.' ) > s.search( '@' ) &&
    s.lastIndexOf( '.' ) >= s.length - 5 )
  }
  return( res );
}


