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() {

  var societe = document.getElementById('societe').value;
  var siret = document.getElementById('siret').value;
  var nom = document.getElementById('nom').value;
  var prenom = document.getElementById('prenom').value;
  var email = document.getElementById('email').value;
  var tel = document.getElementById('tel1').value;
  var addr1 = document.getElementById('addr1').value;
  var cpostal = document.getElementById('cpostal').value;
  var ville = document.getElementById('ville').value;

  // Remettre les champs niquel
  document.getElementById('societe').style.border = 'solid 1px #000000';
  document.getElementById('societe').style.background = '#FFFFFF';
  document.getElementById('siret').style.border = 'solid 1px #000000';
  document.getElementById('siret').style.background = '#FFFFFF';
  document.getElementById('nom').style.border = 'solid 1px #000000';
  document.getElementById('nom').style.background = '#FFFFFF';
  document.getElementById('prenom').style.border = 'solid 1px #000000';
  document.getElementById('prenom').style.background = '#FFFFFF';
  document.getElementById('email').style.border = 'solid 1px #000000';
  document.getElementById('email').style.background = '#FFFFFF';
  document.getElementById('tel1').style.border = 'solid 1px #000000';
  document.getElementById('tel1').style.background = '#FFFFFF';
  document.getElementById('addr1').style.border = 'solid 1px #000000';
  document.getElementById('addr1').style.background = '#FFFFFF';
  document.getElementById('cpostal').style.border = 'solid 1px #000000';
  document.getElementById('cpostal').style.background = '#FFFFFF';
  document.getElementById('ville').style.border = 'solid 1px #000000';
  document.getElementById('ville').style.background = '#FFFFFF';

  // Verification de la raison sociale
  if (societe.length == 0 || societe.length > 128) {
    alert('La raison sociale semble etre incorrecte ou non renseignee.\nMerci de corriger');
    document.getElementById('societe').style.border = 'solid 1px #FE0000';
    document.getElementById('societe').style.background = '#FFEAE7';
    document.getElementById('societe').focus();
    return;
  }
  
  // Verification du SIRET
  var filter = /^[0-9]{14}$/;
  if (!filter.test(siret)) {
    alert('Le SIRET semble etre incorrect ou non renseigne.\nMerci de corriger');
    document.getElementById('siret').style.border = 'solid 1px #FE0000';
    document.getElementById('siret').style.background = '#FFEAE7';
    document.getElementById('siret').focus();
    return;
  }

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

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

  // Verification du numero de tel
  var filter = /^([0-9\ \.\-\(\)]{6,20})$/;
  if (!filter.test(tel)) {
    alert('Le No de telephone semble etre incorrect ou non renseigne.\nMerci de corriger');
    document.getElementById('tel').style.border = 'solid 1px #FE0000';
    document.getElementById('tel').style.background = '#FFEAE7';
    document.getElementById('tel').focus();
    return;
  }

  // Verification de l'email
  if (!check_email('email')) {
    alert('L\'E-mail du representant semble etre incorrect ou non renseigne.\nMerci de corriger');
    document.getElementById('email').style.border = 'solid 1px #FE0000';
    document.getElementById('email').style.background = '#FFEAE7';
    document.getElementById('email').focus();
    return;
  }

  // Verification du code postal du contact
  var filter = /^([0-9]{5})+$/;
  if (!filter.test(cpostal) || cpostal.length != 5) {
    alert('Le code postal semble etre incorrect ou non renseigne.\nMerci de corriger');
    document.getElementById('cpostal').style.border = 'solid 1px #FE0000';
    document.getElementById('cpostal').style.background = '#FFEAE7';
    document.getElementById('cpostal').focus();
    return;
  }

  // Verification de la ville du contact
  var filter = /^([a-zA-Z\ \/]{1,64})+$/;
  if (!filter.test(ville) || ville.length < 2) {
    alert('La ville semble etre incorrecte ou non renseignee.\nMerci de corriger');
    document.getElementById('ville').style.border = 'solid 1px #FE0000';
    document.getElementById('ville').style.background = '#FFEAE7';
    document.getElementById('ville').focus();
    return;
  }

  document.pro.submit();
}

