var digits = "0123456789";

// non-digit characters which are allowed in phone numbers
var phoneNumberDelimiters = "()- ";

var defaultEmptyOK = false

function isEmpty(s)
{   return ((s == null) || (s.length == 0))
}

// Removes all characters which appear in string bag from string s.
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 isDigit (c)
{   return ((c >= "0") && (c <= "9"))
}


function isInteger (s) { 
	  var i;

    if (isEmpty(s)) 
       if (isInteger.arguments.length == 1) return defaultEmptyOK;
       else return (isInteger.arguments[1] == true);

    // Search through string's characters one by one
    // until we find a non-numeric character.
    // When we do, return false; if we don't, return true.

    for (i = 0; i < s.length; i++)
    {   
        // Check that current character is number.
        var c = s.charAt(i);

        if (!isDigit(c)) return false;
    }

    // All characters are numbers.
    return true;
}

function checkPhone(theField){
		var normalizedPhone = stripCharsInBag(theField.value, phoneNumberDelimiters)
		//var phoneLength=normalizedPhone.length
		if (!isInteger(normalizedPhone)){
			//alert("Phone number must be digits")
			//theField.focus()
			//theField.select()
			return false;			
		}
		return true;
}


function trim(str){
  return str.replace(/^\s+|\s+$/g, '');
}
function isEmail(MailAddress){
	if(MailAddress.length != 0){
		if (MailAddress.charAt(0)=="." || 
			MailAddress.charAt(0)=="@"|| 
			MailAddress.indexOf("@") == -1 || 
                        MailAddress.indexOf(" ") != -1 ||
			MailAddress.indexOf(".") == -1 || 
			MailAddress.lastIndexOf("@")==MailAddress.length-1 || 
			MailAddress.lastIndexOf(".")==MailAddress.length-1) {
				return false;
			}
		else
			 return true;
	}
	return false;
	
}


function validate() {

  var OK = true;
  var msg = "";
  var focusField = null;
  
	if (OK && ("" == trim(document.frm1.Nom.value))){
		if (OK==true){	
			 OK = false;	   
		   focusField = document.frm1.Nom;
	  }
		msg="Veuillez entrer votre nom de famille\n";
				
	}
	
	if ("" == trim(document.frm1.Prenom.value)){
		if (OK==true){
		   OK = false;
		   focusField = document.frm1.Prenom;
	  }
		msg=msg+"Veuillez entrer votre prénom\n";		
		
	}

        if ("" == trim(document.frm1.Adresse.value)){
		if (OK==true){
		   OK = false;
		   focusField = document.frm1.Adresse;
	  }
		msg=msg+"Veuillez entrer votre adresse\n";		
		
	}

        if ("" == trim(document.frm1.Ville.value)){
		if (OK==true){
		   OK = false;
		   focusField = document.frm1.Ville;
	  }
		msg=msg+"Veuillez entrer votre ville\n";		
		
	}

        if ("" == trim(document.frm1.Code_Postal.value)){
		if (OK==true){
		   OK = false;
		   focusField = document.frm1.Code_Postal;
	  }
		msg=msg+"Veuillez entrer code postal\n";		
		
	}

        if ("" == trim(document.frm1.Code_Postal_2.value)){
		if (OK==true){
		   OK = false;
		   focusField = document.frm1.Code_Postal_2;
	  }
		msg=msg+"Veuillez entrer code postal\n";		
		
	}

	
	if  ("" == trim(document.frm1.Numero_Telephone.value)){
		if (OK==true){
		   OK = false;
		   focusField = document.frm1.Numero_Telephone;
	  }
		msg=msg+"Veuillez entrer votre code regionale du numéro de téléphone\n";
		
		//alert("Area code can not be empty");
		//document.frm1.Numero_Telephone.focus();
	}
	if (document.frm1.Numero_Telephone.value!=="") {
	  if ( checkPhone(document.frm1.Numero_Telephone)==false){
	  	 if (OK==true){
		   OK = false;
		   focusField = document.frm1.Numero_Telephone;
	     }
	  	 msg = msg+"Code regionale doit être chiffres\n";
	  	 
	  }
	  
	}
	
	if ("" == trim(document.frm1.Numero_Telephone_2.value)){
		if (OK==true){
		   OK = false;
		   focusField = document.frm1.Numero_Telephone_2;
	  }
		msg=msg+"Veuillez entrer votre numéro de téléphone\n";
		
	}	
  
  if (document.frm1.Numero_Telephone.value!=="") {
	  if ( checkPhone(document.frm1.Numero_Telephone_2)==false){
	  	 if (OK==true){
		   OK = false;
		   focusField = document.frm1.Numero_Telephone_2;
	     }
	  	 msg = msg+"Votre numéro de téléphone doit être chiffres\n";
	  	 
	  }
	  
	}
  
  
	
	if  ("" == trim(document.frm1.Numero_Telephone_3.value)){
		if (OK==true){
		   OK = false;
		   focusField = document.frm1.Numero_Telephone_3;
	  }
		msg=msg+"Veuillez entrer les derniers quatre chiffres de votre numéro de téléphone\n";
		
	}
		
	if (document.frm1.Numero_Telephone_3.value!=="") {
	  if ( checkPhone(document.frm1.Numero_Telephone_3)==false){
	  	 if (OK==true){
		   OK = false;
		   focusField = document.frm1.Numero_Telephone_3;
	     }
	  	 msg = msg+"Les derniers quatre chiffresVotre numéro de téléphone doit être chiffres\n";
	  	 
	  }
	  
	}
	
	
	if ("" == trim(document.frm1.Courriel.value)){
		if (OK==true){
		   OK = false;
		   focusField = document.frm1.Courriel;
	  }
		msg=msg+"Veuillez entrer votre courriel\n";
		
	}
	
	if ("" != trim(document.frm1.Courriel.value)){
   	if  (!isEmail(document.frm1.Courriel.value)){
   		if (OK==true){
   		   OK = false;
   		   focusField = document.frm1.Courriel;
   	  }
   		msg=msg+"Veuillez entrer une adresse courriel valide\n";
   		
   	}
  }

	if ("" == trim(document.frm1.Nom_representant.value)){
		if (OK==true){
		   OK = false;
		   focusField = document.frm1.Nom_representant;
	  }
		msg=msg+"Veuillez entrer le nom du représentant en assurance de dommages ou de l'expert en sinistre\n";
		
	}


	if ("" == trim(document.frm1.Entreprise_representant.value)){
		if (OK==true){
		   OK = false;
		   focusField = document.frm1.Entreprise_representant;
	  }
		msg=msg+"Veuillez entrer le nom de votre representant\n";
		
	}

        if ("" == trim(document.frm1.Adresse_representant.value)){
		if (OK==true){
		   OK = false;
		   focusField = document.frm1.Adresse_representant;
	  }
		msg=msg+"Veuillez entrer l'adresse de votre representant\n";
		
	} 	

        if ("" == trim(document.frm1.Ville_representant.value)){
		if (OK==true){
		   OK = false;
		   focusField = document.frm1.Ville_representant;
	  }
		msg=msg+"Veuillez entrer la ville de votre representant\n";
		
	}

        if ("" == trim(document.frm1.Code_Postal_representant.value)){
		if (OK==true){
		   OK = false;
		   focusField = document.frm1.Code_Postal_representant;
	  }
		msg=msg+"Veuillez entrer le code postal de votre representant\n";		
		
	}

        if ("" == trim(document.frm1.Code_Postal_representant_2.value)){
		if (OK==true){
		   OK = false;
		   focusField = document.frm1.Code_Postal_representant_2;
	  }
		msg=msg+"Veuillez entrer le code postal de votre representant\n";		
		
	}

       
	if ("" == trim(document.frm1.Motifs_plainte.value)){
		if (OK==true){
		   OK = false;
		   focusField = document.frm1.Motifs_plainte;
	  }
		msg=msg+"Veuillez entrer les motifs de votre plainte\n";
		
	}
	


	if ("" == trim(document.frm1.Details_plainte.value)){
		if (OK==true){
		   OK = false;
		   focusField = document.frm1.Details_plainte;
	  }
		msg=msg+"Veuillez entrer les détails et les circonstances relatifs à votre plainte\n";
		
	}
	
	
	
	if (OK == false) {
  	alert(msg);
  	focusField.focus();
  }
	
	if (OK == true) {
  	document.frm1.submit();
  }

}