/* 
 * Rôle: controle champs formulaire + envoi
 * Date: 02/12/2008
 * Version: 1.3.3
 */

 
 /*
  * Rôle: controle si champ vide et ajout des valeurs dans outlook
  * @form:
  * @return : retourne message de saisie
  */
	
	

	
function checkForm(form) {
	
	var errmsg = "Merci de remplir l'intégralite des champs : \n";
	var lenInit = errmsg.length;
	

 /*
  * Rôle: empeche la saisie avec un espace
  * @form:
  * @return : retourne message d'erreur
  */
		
		    form.societe.value = form.societe.value.trim();
			form.nom.value = form.nom.value.trim()
			form.prenom.value = form.prenom.value.trim();
			form.expdescript.value = form.expdescript.value.trim();
				
				/***************/
		
		
		
		if (!isNotEmpty(form.societe))      {
       alert("Veuillez saisir le nom de votre société ou organisme");
      document.expform.societe.focus();
        return false;
 }
	

	
	else	if (!isNotEmpty(form.nom))      {
       alert("Veuillez saisir votre nom");
      document.expform.nom.focus();
        return false;
 }
	
		
	
	else	if (!isNotEmpty(form.prenom))      {
       alert("Veuillez saisir votre prénom");
      document.expform.prenom.focus();
        return false;
 }
	
		
  	else	if (!isNotEmpty(form.telephone))      {
       alert("Veuillez saisir votre numéro de téléphone");
       document.expform.telephone.focus();
        return false;
 }
		
	else if (!isValidExt(form.telephone.value))  {
			alert("Saisie du numéro de téléphone incorrete");
			  document.expform.telephone.focus();
				return false;
	}
	
	
	
	else	if (!isNotEmpty(form.email))      {
       alert("Veuillez saisir votre adresse Email");
         document.expform.email.focus();
        return false;
 }
 
	else if (!Test(form.email)) 	{
	
				alert("Saisie de l'adresse Email incorrecte");
			  document.expform.email.focus();
				return false;
	}

	
	else	if (!isNotEmpty(form.expdescript))      {
       alert("Veuillez saisir la description de votre demande");
       document.expform.expdescript.focus();
        return false;
 }
	

	
	
	
	
 	if (errmsg.length > lenInit) {
		alert(errmsg);
		return false;
	} 
	else 
	{ 
	  var index = form.expagence.options.selectedIndex;
		var mail = form.expagence.options[index].value;	
		var sujetindex = form.expobjet.options.selectedIndex;
		var sujetvaleur = form.expobjet.options[sujetindex].value;	
		var societe = form.societe.value;
		var name = form.nom.value;
		var nickname = form.prenom.value;
		var fonct = form.fonction.value;
		var phone = form.telephone.value;
		var adressMail = form.email.value;
		var adress = form.adresse.value;
		var codepostal = form.cp.value;
		var city = form.ville.value;
		var corps = form.expdescript.value;
		

document.forms[0].reset();
	
	executeOutlook(mail, sujetvaleur,"Société :  " + societe +("\n") + "Nom :  " + name +("\n") + "Prénom : " + nickname +("\n") + "Fonction : " + fonct +("\n") + "tel : " + phone +("\n")+ "Email : " + adressMail +("\n") + "Adresse : " +adress +("\n") + "Code postal : " + codepostal +("\n") + "Ville : " + city  +("\n")+("\n")+ "Description demande : " + corps) ;                   
	}


}




 /*
  * Rôle: controle si champ vide 
  * @form:
  * @return : retourne message d'erreur
  */



function isNotEmpty(elm) {
    return elm.value.length != "0";
		/*if (elm.value.length != "0") return true;
		else return false;*/
   
}




 /*
  * Rôle: envoi du formulaire avec ouverture de outlook 
  * @form:
  * @return : 
  */


function executeOutlook(mailTo, subject, body) {
   var mail  = 'mailto:'+mailTo+'?subject='+subject+'&body='+escape(body);
   location.href = mail;
}


 /*
  * Rôle: controle si champ vide 
  * @form:
  * @return : retourne message de saisie
  */
	
function Test(email)
{
    var mail = email.value;
    var re = new RegExp("^([a-zA-Z0-9_-])+([.]?[a-zA-Z0-9_-]{1,})*@([a-zA-Z0-9-_]{2,}[.])+[a-zA-Z]{2,3}$");
    return re.test(mail);
}



 /*
  * Rôle: controle si numero saisie
  * @form:
  * @return : retourne message de saisie
  */
	
function isValidExt(tel) 	
{
	var re1 = new RegExp ("^0[1-68]([\.|\-|\s]*[0-9]{2}){4}$");
	if (!re1.test(tel))
		return false;
	else return true;
}



 /*
  * Rôle: empeche saisie touche "enter"
  * @form:
  * @return : retourne message de saisie
  */
	
/*
 function process_keypress() {
 if (window.event.type == "keypress" & window.event.keyCode == 13)
 //alert("touche ENTREE inopérante.");
return !(window.event.type == "keypress" & window.event.keyCode == 13);
 }
 document.onkeypress = process_keypress; 
 
 
*/



 /*
  * Rôle: controle si champ vide 
  * @form:
  * @return : retourne message de saisie
  */
	
function isValidChar(elm) 
{
	var elmstr = elm.value + "";
	elmstr = elmstr.substring(0,elmstr.indexOf("@"));
	var re = /[\s\'\"\|\?\,\;\:\!\/\`\\\[\]]/gi;
	if (elmstr.search(re) != "-1"  )		return false;
	return true;
}


 /*
  * Rôle: bloque le parti alphabetique du clavier pour la saisie du numero 
  * @form:
  * @return : retourne message de saisie
  */
	

	
function isNumberKey(evt)
{
	 var charCode = (evt.which) ? evt.which : event.keyCode
	 if (charCode > 31 && (charCode < 48 || charCode > 57))
	 return false;
	 
	else return true;
}



String.prototype.trim = function()
{
    return this.replace(/(?:^\s+|\s+$)/g, "");
}













