function check_email(id) {
  var emailStr = document.getElementById(id).value;
  var emailPat=/^(.+)@(.+)$/
  var specialChars="\\(\\)<>@,;:\\\\\\\"\\.\\[\\]"
  var validChars="\[^\\s" + specialChars + "\]"
  var quotedUser="(\"[^\"]*\")"
  var ipDomainPat=/^\[(\d{1,3})\.(\d{1,3})\.(\d{1,3})\.(\d{1,3})\]$/
  var atom=validChars + '+'
  var word="(" + atom + "|" + quotedUser + ")"
  var userPat=new RegExp("^" + word + "(\\." + word + ")*$")
  var domainPat=new RegExp("^" + atom + "(\\." + atom +")*$")

  var matchArray=emailStr.match(emailPat)
  if (matchArray==null)
    return false;

  var user=matchArray[1]
  var domain=matchArray[2]

  if (user.match(userPat)==null)
    return false;

  var IPArray=domain.match(ipDomainPat)
  if (IPArray!=null) {
    for (var i=1;i<=4;i++) {
      if (IPArray[i]>255)
        return false;
    }
    return true;
  }

  var domainArray=domain.match(domainPat)
  if (domainArray==null)
    return false;

  var atomPat=new RegExp(atom,"g")
  var domArr=domain.match(atomPat)
  var len=domArr.length
  if (domArr[domArr.length-1].length<2 || domArr[domArr.length-1].length>4 || len<2)
    return false;

  return true;
}

function checkform() {

  // Premierement, recuperer la totalite des objets
  var pnom = document.getElementById('pnom').value;
  var email = document.getElementById('email').value;
  var id_annonce = document.getElementById('id_annonce').value;
  var question = document.getElementById('question').value;

  // Remettre les champs niquel
  document.getElementById('pnom').style.border = 'solid 1px #000000';
  document.getElementById('pnom').style.background = '#FFFFFF';
  document.getElementById('email').style.border = 'solid 1px #000000';
  document.getElementById('email').style.background = '#FFFFFF';
  document.getElementById('id_annonce').style.border = 'solid 1px #000000';
  document.getElementById('id_annonce').style.background = '#FFFFFF';
  document.getElementById('question').style.border = 'solid 1px #000000';
  document.getElementById('question').style.background = '#FFFFFF';

  // Verification du nom du contact
  if (pnom.length == 0 || pnom.length > 64) {
    alert('Le nom semble etre incorrecte ou non renseignee.\nMerci de corriger');
    document.getElementById('pnom').style.border = 'solid 1px #FE0000';
    document.getElementById('pnom').style.background = '#FFEAE7';
    document.getElementById('pnom').focus();
    return;
  }

  if (!check_email('email')) {
    alert('L\'email semble etre incorrecte ou non renseignee.\nMerci de corriger');
    document.getElementById('email').style.border = 'solid 1px #FE0000';
    document.getElementById('email').style.background = '#FFEAE7';
    document.getElementById('email').focus();
    return;
  }

  // Verification du numero de l'annonce
  var filter = /^([0-9]{11})+$/;
  if (id_annonce.length > 0)
  if (!filter.test(id_annonce)) {
    alert('Le numero de votre annonce est incorrect ou non renseigne.\nMerci de corriger');
    document.getElementById('id_annonce').style.border = 'solid 1px #FE0000';
    document.getElementById('id_annonce').style.background = '#FFEAE7';
    document.getElementById('id_annonce').focus();
    return;
  }

  if (question.length < 32) {
    alert('Vous devez ecrire votre question');
    document.getElementById('question').style.border = 'solid 1px #FE0000';
    document.getElementById('question').style.background = '#FFEAE7';
    document.getElementById('question').focus();
    return;
  }

  document.contact.submit();
}
