

 function validateEmail(entered) {

     apos=entered.indexOf("@");

     dotpos=entered.lastIndexOf(".");

     lastpos=entered.length-1;

     if (apos<1 || dotpos-apos<2 || lastpos-dotpos>3 || lastpos-dotpos<2) {

          return false;

     } else {

          return true;

     }

}



function validateNumber(x) {

     var anum=/(^\d+$)|(^\d+\.\d+$)/;

     if (anum.test(x)){

          return true;

     } else {

          return false;

     }

}



function isValidPostalcode(postalcode) {

    

    if (postalcode.length == 6 && postalcode.search(/^[a-zA-Z]\d[a-zA-Z]\d[a-zA-Z]\d$/) != -1) {

        

        return true;

        

    } else if (postalcode.length == 7 && postalcode.search(/^[a-zA-Z]\d[a-zA-Z](-|\s)\d[a-zA-Z]\d$/) != -1) {

        

        return true;

        

    } else {

        

        return false;

    }

    

    return true;

}





// Declaring required variables

var digits = "0123456789";

// non-digit characters which are allowed in phone numbers

var phoneNumberDelimiters = "()- ";

// characters which are allowed in international phone numbers

// (a leading + is OK)

var validWorldPhoneChars = phoneNumberDelimiters + "+";

// Minimum no of digits in an international phone no.

var minDigitsInIPhoneNumber = 10;



function isInteger(s) {   

     var i;

     for (i = 0; i < s.length; i++) {

          // Check that current character is number.

          var c = s.charAt(i);

          if (((c < "0") || (c > "9"))) return false; 

     }

     // All characters are numbers.

     return true;

}



function stripCharsInBag(s, bag) {

     var i;

     var returnString = "";

     // Search through string's characters one by one.

     // If character is not in bag, append to returnString.

     for (i = 0; i < s.length; i++) {

          // Check that current character isn't whitespace.

          var c = s.charAt(i);

          if (bag.indexOf(c) == -1) returnString += c;

     }

     return returnString;

}



function checkInternationalPhone(strPhone){

     s=stripCharsInBag(strPhone,validWorldPhoneChars);

     return (isInteger(s) && s.length >= minDigitsInIPhoneNumber);

}



function check(){

    

    var formElements = document.form.elements;

    

    for (i=0; i<formElements.length; i++) {

    

        if( (formElements[i].className == "requiredField" || formElements[i].title == "requiredField") && formElements[i].value == "" ){                        

			alert("Please make sure you have filled all the fields")

            return false;

        }

        

        if( formElements[i].value != "" ) {            

            if(formElements[i].alt == "email" ){                

                if(!validateEmail(formElements[i].value) ){                    

                    alert("The email address is invalid")

                    return false;

                }

            } 

            

            if(formElements[i].alt == "postal_code" ){                

                if(!isValidPostalcode(formElements[i].value) ){                    

                    alert("The postal code is invalid")

                    return false;

                }

            } 

            

            if(formElements[i].alt == "tel" ){                

                if(!checkInternationalPhone(formElements[i].value) ){                    

                    alert("The telephone number is invalid")

                    return false;

                }

            }

            

            if(formElements[i].alt == "number" ){                

                if(!validateNumber(formElements[i].value) ){                    

                    alert("Please make sure that there are only numbers and a « . »")

                    return false;

                }

            }

            

            if(formElements[i].name == "CV" ){                

                elem=formElements[i].value

                l=elem.lastIndexOf('.')

                ext=elem.substring(l)

                

                if(ext!=".doc" && ext!=".docx" && ext!=".pdf"  && ext!=".xls" && ext!=".xlsx"){

                    alert("The format of your document is invalid.")

                    alert(ext)

                    return false

                }

            }

        }			  

    }

    

    return true;	

}



function SetMaxChar(champ, max, langue)

   {

   if (champ.value.length > max)

      {

      champ.value = champ.value.substring(0,max);

      if (langue == "en")

         alert("Your message has exceeded the maximum length for sending a page and has been automatically truncated to "+max+" characters.");

      else

         alert("Votre message dépasse le nombre de caractères permis et a été réduit à "+max+" caractères."); 

      }

   }