//fonction de contrôle de l'email
function isMailValide(emailStr)
      {
	var myEMailIsValid = true;
	var myAtSymbolAt = emailStr.indexOf('@');
	var myLastDotAt = emailStr.lastIndexOf('.');
	var mySpaceAt = emailStr.indexOf(' ');
	var myLength = emailStr.length;
	
	// at least one @ must be present and not before position 2
	// @yellow.com : NOT valid
	// x@yellow.com : VALID
	
	if (myAtSymbolAt < 1 ) {
		myEMailIsValid = false;
	}
	
	
	// at least one . (dot) afer the @ is required
	// x@yellow : NOT valid
	// x.y@yellow : NOT valid
	// x@yellow.org : VALID
	
	if (myLastDotAt < myAtSymbolAt) {
		myEMailIsValid = false;
	}
	
	// at least two characters [com, uk, fr, ...] must occur after the last . (dot)
	// x.y@yellow. : NOT valid
	// x.y@yellow.a : NOT valid
	// x.y@yellow.ca : VALID
	 
	if (myLength - myLastDotAt <= 2) {
		myEMailIsValid = false;
	}
	
	// no empty space " " is permitted (one may trim the email)
	// x.y@yell ow.com : NOT valid
	
	if (mySpaceAt != -1) {
		myEMailIsValid = false
	}
		
	if (myEMailIsValid == true) {
		return 1;
	}
	else {
		return 0;
	}
      }

function isDateValide(dateStr)
    {
	if(dateStr.length!=0)
	{
	condition1 = !isNaN(dateStr.substr(0, 2)) ;
	condition2 = (dateStr.substr(2, 1)=="/") ;
	condition3 = !isNaN(dateStr.substr(3, 2)) ;
	condition4 = (dateStr.substr(5, 1)=="/") ;
	condition5 = !isNaN(dateStr.substr(6, 4)) ;
	
	jour=(dateStr.substr(0, 2).charAt(0)=='0')?dateStr.substr(0, 2).charAt(1):dateStr.substr(0, 2);
	condition6 = (parseInt(jour) > 0)&&(parseInt(jour) < 32) ;
	mois=(dateStr.substr(3, 2).charAt(0)=='0')?dateStr.substr(3, 2).charAt(1):dateStr.substr(3, 2);
	condition7 = (parseInt(mois) > 0)&&(parseInt(mois) < 13) ;
	condition8 = (parseInt(dateStr.substr(6, 4)) > 2006)&&(parseInt(dateStr.substr(6, 4)) < 2050) ;
	
	return condition1&&condition2&&condition3&&condition4&&condition5&&condition6&&condition7&&condition8 ;
	}
	else {return true;}
	}
//test des valeurs obligatoires
function checkForm(formulaire) 
	{
	  nb_elements = formulaire.elements.length;
	  for( i=0 ; i<nb_elements ; i++ ) 
	  {
		if( formulaire.elements[i].getAttribute('obligatoire')=="oui" ) 
			{ 
			  if( formulaire.elements[i].type=="text" || formulaire.elements[i].type=="textarea" || formulaire.elements[i].type=="hidden" || formulaire.elements[i].type=="select-one") 
				{
				if( formulaire.elements[i].value.length==0 || /^\s*$/.test(formulaire.elements[i].value) ) 
					{
				  	alert(formulaire.elements[i].getAttribute('messageObligatoire'));
				 	 if( formulaire.elements[i].type=="text" || formulaire.elements[i].type=="textarea" ) 
						formulaire.elements[i].focus();
				  	return false;
					}
				}
			}
		if( formulaire.elements[i].getAttribute('name')=="email" ) 
			{
			if(!isMailValide(formulaire.elements[i].value))
				{
				alert(formulaire.elements[i].getAttribute('messageInvalide'));
				formulaire.elements[i].focus();
				return false;
				}
			}
		if( formulaire.elements[i].getAttribute('inputtype')=="date_sqlserver" ) 
			{
			if(!isDateValide(formulaire.elements[i].value))
				{
				alert(formulaire.elements[i].getAttribute('messageInvalide'));
				formulaire.elements[i].focus();
				return false;
				}
			}
		
		if( formulaire.elements[i].getAttribute('inputtype')=="numeric" ) 
			{ 
			if(isNaN(formulaire.elements[i].value))
				{
				alert(formulaire.elements[i].getAttribute('messageInvalide'));
				formulaire.elements[i].focus();
				return false;
				}
			}
	  }
	  return true;
	}
