function checkform(){
     
     if( verify_element("nom","text",true,"Veuillez entrer votre nom") )
     if( verify_element("prenom","text",true,"Veuillez entrer votre prénom") )
     if( verify_element("adresse-1","number",true,"Veuillez entrer votre numéro de porte") )
     if( verify_element("adresse-2","text",true,"Veuillez entrer votre rue") )
     if( verify_element("adresse-3","text",false,"Veuillez entrer votre numéro d'appartement") )
     if( verify_element("adresse-4","text",true,"Veuillez entrer votre ville") )
     if( verify_element("adresse-5","text",true,"Veuillez entrer votre province") )
     if( verify_element("adresse-6","postcode",true,"Veuillez entrer votre code postal (A0A0A0)") )
     if( verify_element("telephone-1","telephone",true,"Veuillez entrer votre numéro de téléphone") )
     if( verify_element("telephone-2","telephone",false,"Veuillez entrer votre numéro de téléphone (2)") )
     if( verify_element("nas","number",false,"Veuillez entrer votre numéro d'assurance sociale") )
     if( verify_element("nam","number",false,"Veuillez entrer votre numéro d'assurance maladie") )
     if( verify_element("desire1","text",true,"Veuillez entrer votre emploi désiré") )
     if( confirm("Avez-vous bien vérifié tous les champs?") )
          return true;

     return false;
}

function verify_element(id, type, required, message){
     
     if( !required ) return true;
     var valid = false;
     
     var el = getElement(id);
     var val = el.value;
     if( el != null ){
          
          switch(type){
               case "text":
                    if( val.length > 0 ) valid = true;
                    break;
               case "postcode":
                    valid = isPostCode(val);
                    break;
               case "number":
                    valid = validateNumber(val);
                    break;
               case "telephone":
                    valid = checkInternationalPhone(val);
                    break;
          }

     }
     
     if( !valid ){
          alert(message);
          el.focus();
          return false;
     } else return true;
}

function isPostCode(entry){ // checks Canadian codes only
     strlen=entry.length;
     if (strlen==6){
          entry=entry.toUpperCase();  // in case of lowercase
          // Check for legal characters in string - note index starts at zero
          if('ABCEGHJKLMNPRSTVXY'.indexOf(entry.charAt(0))<0) {return false;}
          if('0123456789'.indexOf(entry.charAt(1))<0) {return false;}
          if('ABCDEFGHJKLMNPQRSTUVWXYZ'.indexOf(entry.charAt(2))<0) {return false;}
          if('0123456789'.indexOf(entry.charAt(3))<0) {return false;}
          if('ABCDEFGHJKLMNPQRSTUVWXYZ'.indexOf(entry.charAt(4))<0) {return false;}
          if('0123456789'.indexOf(entry.charAt(5))<0) {return false;}
          return true;
     } else if (strlen==7){
          entry=entry.toUpperCase();  // in case of lowercase
          // Check for legal characters in string - note index starts at zero
          if('ABCEGHJKLMNPRSTVXY'.indexOf(entry.charAt(0))<0) {return false;}
          if('0123456789'.indexOf(entry.charAt(1))<0) {return false;}
          if('ABCDEFGHJKLMNPQRSTUVWXYZ'.indexOf(entry.charAt(2))<0) {return false;}

          if('0123456789'.indexOf(entry.charAt(4))<0) {return false;}
          if('ABCDEFGHJKLMNPQRSTUVWXYZ'.indexOf(entry.charAt(5))<0) {return false;}
          if('0123456789'.indexOf(entry.charAt(6))<0) {return false;}
          return true;
     } 
     return false;
}
