var regExpBeginning = /^\s+/;
var regExpEnd = /\s+$/;  

// Supprime les espaces inutiles en début et fin de la chaîne passée en paramètre.

function trim(aString) {
    return aString.replace(regExpBeginning, "").replace(regExpEnd, "");
}



function chk(emailStr) {
  var emailPat=/^(.+)@(.+)$/
  var specialChars="\\(\\)<>@,;:\\\\\\\"\\.\\[\\]"
  var validChars="\[^\\s" + specialChars + "\]"
  var quotedUser="(\"[^\"]*\")"
  var ipDomainPat=/^\[(\d{1,3})\.(\d{1,3})\.(\d{1,3})\.(\d{1,3})\]$/
  var atom=validChars + '+'
  var word="(" + atom + "|" + quotedUser + ")"
  var userPat=new RegExp("^" + word + "(\\." + word + ")*$")
  var domainPat=new RegExp("^" + atom + "(\\." + atom +")*$")
  
  var matchArray=emailStr.match(emailPat)
  if (matchArray==null)
    return false
  
  var user=matchArray[1]
  var domain=matchArray[2]
  
  if (user.match(userPat)==null)
   return false
  
  var IPArray=domain.match(ipDomainPat)
  if (IPArray!=null) {
    for (var i=1;i<=4;i++) {
      if (IPArray[i]>255)
        return false
    }
    return true
  }
  
  var domainArray=domain.match(domainPat)
  if (domainArray==null)
    return false
  
  var atomPat=new RegExp(atom,"g")
  var domArr=domain.match(atomPat)
  var len=domArr.length
  if (domArr[domArr.length-1].length<2 ||
    domArr[domArr.length-1].length>3) {
    return false
  }
  
  if (len<2)
    return false
  
  return true;
}

function emailCheck(val) {
  
  if (chk(val))
   { return true;}
  else
    {return false;}
}




function CheckDate(d) {
      // Cette fonction vérifie le format JJ/MM/AAAA saisi et la validité de la date.
      // Le séparateur est défini dans la variable separateur
      var amin=1900; // année mini
      var separateur="/"; // separateur entre jour/mois/annee
      var j=(d.substring(0,2));
      var m=(d.substring(3,5));
      var a=(d.substring(6));
      var ok=1;

      if ( ((isNaN(j))||(j<1)||(j>31)) && (ok==1) ) {
      ok=0;
      }

      if ( ((isNaN(m))||(m<1)||(m>12)) && (ok==1) ) {
      ok=0;
      }

      if ( ((isNaN(a))||(a<amin)) && (ok==1) ) {
      ok=0;
      }

      if ( ((d.substring(2,3)!=separateur)||(d.substring(5,6)!=separateur))
	  	&& (ok==1) ) {
      ok=0;
      }

      if (ok==1) {
         var d2=new Date(a,m-1,j);
         j2=d2.getDate();
         m2=d2.getMonth()+1;
         a2=d2.getYear();
         if (a2<=100) {a2=1900+a2}
         if ( (j!=j2)||(m!=m2)||(a!=a2) ) {
         ok=0;
         }
      }

      return ok;
}

function controle (formu)
{

var nb_input = document.forms[formu].elements.length;
var value='';
var firstcar='';
var secondcar='';
var thirdcar='';
var type='';
var name='';
var ok;
var msg='';
for (i=0;i<nb_input-1;i++)
	{
		//alert (document.forms[formu].elements[i].name);
		value=document.forms[formu].elements[i].value;
	name=document.forms[formu].elements[i].name;
	type=document.forms[formu].elements[i].type;
	firstcar=name.charAt(0);
	secondcar=name.charAt(1);
	thirdcar=name.charAt(2);

	if (firstcar=='o' && thirdcar=='_' ) {
		//alert(name);
		//document.forms[formu].elements[name].innerHTML='';
	}

	
	if (firstcar=='o' && thirdcar=='_'  )
		
		switch (type)
		{
			case 'checkbox':
			
			if (document.forms[formu].elements[name].checked==false)
				{msg=msg+'La case '+name+' n\'est pas cochée \n';
				document.getElementById('err_'+name).innerHTML='<font color="red"><img src="http://www.keepschool.com/images/danger.gif" style="vertical-align:middle;" />&nbsp;Ce champ n\'a pas été correctement rempli</font>';
				document.forms[formu].elements[name].style.border='2px solid red';
				document.getElementById('lb_'+name).style.color='red';
				}
			else
				{
				document.getElementById('err_'+name).innerHTML='';	
				document.forms[formu].elements[name].style.border='2px solid #3D8337';
				document.getElementById('lb_'+name).style.color='#5D6775';
				}
			break;


			
			case 'radio':
    		ok = false;
			NbRadio = document.getElementsByName(name).length;
      		for (var k = 0; k < NbRadio; k++)
       			{
       			if (document.getElementsByName(name)[k].checked == true)
        			{
         			ok = true;
         			k = document.getElementsByName(name).length;
        			}
				else
					{
					document.getElementsByName(name)[k].style.border='2px solid red';
			
					}
      			}
      		if (ok == false)
      		{
        		msg=msg+'Le champ '+ name + ' n\'a pas été choisit \n';
				document.getElementById('err_'+name).innerHTML='<font color="red"><img src="http://www.keepschool.com/images/danger.gif" style="vertical-align:middle;" />&nbsp;Ce champ n\'a pas été correctement rempli</font>';
				document.getElementById('lb_'+name).style.color='red';
				
			}
			else
			{
				document.getElementById('err_'+name).innerHTML='';	

				document.getElementById('lb_'+name).style.color='#5D6775';
			}
			break;
			
			
			default:
				switch (secondcar)
				{
				case 'n':
				value=value.replace(',','.');
				if (isNaN(value) || value=='')
					{msg=msg+'Le champ '+name+' doit être numérique \n';
					document.getElementById('err_'+name).innerHTML='<font color="red"><img src="http://www.keepschool.com/images/danger.gif" style="vertical-align:middle;" />&nbsp;Ce champ n\'a pas été correctement rempli</font>';
					document.forms[formu].elements[name].style.border='2px solid red';
					document.getElementById('lb_'+name).style.color='red';
					}
				else
					{
					
					document.getElementById('err_'+name).innerHTML='';
					document.forms[formu].elements[name].style.border='2px solid #3D8337';
					document.getElementById('lb_'+name).style.color='#5D6775';
					}
				break;

				case 's':
				if (trim(value).length==0)
					{msg=msg+'Le champ '+name+' est vide \n';
					document.getElementById('err_'+name).innerHTML='<font color="red"><img src="http://www.keepschool.com/images/danger.gif" style="vertical-align:middle;" />&nbsp;Ce champ n\'a pas été correctement rempli</font>';
					document.forms[formu].elements[name].style.border='2px solid red';
					document.getElementById('lb_'+name).style.color='red';
					
					}
				else
					{
					document.getElementById('err_'+name).innerHTML='';
					document.forms[formu].elements[name].style.border='2px solid #3D8337';
					document.getElementById('lb_'+name).style.color='#5D6775';
					}
				break;
				
				case 'p':
				if (value!=document.forms[formu].elements['os_motdepasseconfirm'].value)
					{msg=msg+'Le champ '+name+' est vide \n';
					document.getElementById('err_'+name).innerHTML='<font color="red"><img src="http://www.keepschool.com/images/danger.gif" style="vertical-align:middle;" />&nbsp;Erreur mot de passe</font>';
					document.forms[formu].elements[name].style.border='2px solid red';
					document.getElementById('lb_'+name).style.color='red';
					}
				else
					{
					document.getElementById('err_'+name).innerHTML='';
					document.forms[formu].elements[name].style.border='2px solid #3D8337';
					document.getElementById('lb_'+name).style.color='#5D6775';
					}
				break;

				case 'g':
				if (value!=1)
					{msg=msg+'Le champ '+name+' est vide \n';
					document.getElementById('err_'+name).innerHTML='<font color="red"><img src="http://www.keepschool.com/images/danger.gif" style="vertical-align:middle;" />&nbsp;Vous n\'avez pas accpeté les conditions générales de service </font>';
					document.forms[formu].elements[name].style.border='2px solid red';
					document.getElementById('lb_'+name).style.color='red';
					}
				else
					{
					document.getElementById('err_'+name).innerHTML='';
					document.forms[formu].elements[name].style.border='2px solid #3D8337';
					document.getElementById('lb_'+name).style.color='#5D6775';
					}
				break;

				case 't':
				if (isNaN(value) || value.length!=10 || value=='')
					{msg=msg+'Le champ '+name+' n\'est pas un numéro de telephone valide \n';
					document.getElementById('err_'+name).innerHTML='<font color="red"><img src="http://www.keepschool.com/images/danger.gif" style="vertical-align:middle;" />&nbsp;Le numéro de téléphone n\'est pas valide (10 chiffres)</font>';
					document.forms[formu].elements[name].style.border='2px solid red';
					document.getElementById('lb_'+name).style.color='red';
					}
				else
					{
					document.getElementById('err_'+name).innerHTML='';
					document.forms[formu].elements[name].style.border='2px solid #3D8337';
					document.getElementById('lb_'+name).style.color='#5D6775';
					}
				break;
				
				case 'c':
				if (isNaN(value) || value.length!=5 || value=='')
					{msg=msg+'Le champ '+name+' n\'est pas valide \n';
					document.getElementById('err_'+name).innerHTML='<font color="red"><img src="http://www.keepschool.com/images/danger.gif" style="vertical-align:middle;" />&nbsp;Le code postal n\'est pas valide (5 chiffres)</font>';
					document.forms[formu].elements[name].style.border='2px solid red';
					document.getElementById('lb_'+name).style.color='red';
					}
				else
					{
					document.getElementById('err_'+name).innerHTML='';
					document.forms[formu].elements[name].style.border='2px solid #3D8337';
					document.getElementById('lb_'+name).style.color='#5D6775';
					}
				break;
				
				case 'd':
				if (CheckDate(value)==0)
					{msg=msg+'Le champ '+name+' n\'est pas une date valide \n';
					document.getElementById('err_'+name).innerHTML='<font color="red"><img src="http://www.keepschool.com/images/danger.gif" style="vertical-align:middle;" />&nbsp;Le champ n\'a pas été rempli, ou le format non respecté (JJ/MM/AAAA)</font>';
					document.forms[formu].elements[name].style.border='2px solid red';
					document.getElementById('lb_'+name).style.color='red';
					}
				else
					{
					document.getElementById('err_'+name).innerHTML='';
					document.forms[formu].elements[name].style.border='2px solid #3D8337';
					document.getElementById('lb_'+name).style.color='#5D6775';
					}
				break;

				case 'e':
				if (!emailCheck(value))
					{msg=msg+'Le champ '+name+' n\'est pas une adresse email valide \n';
					document.getElementById('err_'+name).innerHTML='<font color="red"><img src="http://www.keepschool.com/images/danger.gif" style="vertical-align:middle;" />&nbsp;L\'adresse email n\'est pas valide</font>';
					document.forms[formu].elements[name].style.border='2px solid red';
					document.getElementById('lb_'+name).style.color='red';
					}
				else
					{
					document.getElementById('err_'+name).innerHTML='';	
					document.forms[formu].elements[name].style.border='2px solid #3D8337';
					document.getElementById('lb_'+name).style.color='#5D6775';
					}
				break;

				}
			break;
		}
	
	}
//alert(msg);
if(msg=='')
{ 
return true;}
else
{

return false;
}
}


function checkfield (formu,name)
{
	field=document.forms[formu].elements[name];
	value=field.value;
	type=field.type;
	if (type==undefined)
		{type='radio';}
	firstcar=name.charAt(0);
	secondcar=name.charAt(1);
	thirdcar=name.charAt(2);
	


		switch (type)
		{
			case 'checkbox':
			
			if (document.forms[formu].elements[name].checked==false)
				{
				document.getElementById('err_'+name).innerHTML='<font color="red"><img src="http://www.keepschool.com/images/danger.gif" style="vertical-align:middle;" />&nbsp;Ce champ n\'a pas été correctement rempli</font>';
				document.forms[formu].elements[name].style.border='2px solid red';
				document.getElementById('lb_'+name).style.color='red';
				}
			else
				{
				document.getElementById('err_'+name).innerHTML='<img src="http://www.keepschool.com/images/check.gif" />';	
				document.forms[formu].elements[name].style.border='2px solid #3D8337';
				document.getElementById('lb_'+name).style.color='#5D6775';
				}
			break;


			
			case 'radio':
    		ok = false;
			NbRadio = document.getElementsByName(name).length;
      		for (var k = 0; k < NbRadio; k++)
       			{
       			if (document.getElementsByName(name)[k].checked == true)
        			{
         			ok = true;
         			k = document.getElementsByName(name).length;
        			}
				else
					{
					
						document.getElementsByName(name)[k].style.border='2px solid red';
						
					
					}
      			}
      		if (ok == false)
      		{
        		document.getElementById('lb_'+name).style.color='red';
				document.getElementById('err_'+name).innerHTML='<font color="red"><img src="http://www.keepschool.com/images/danger.gif" style="vertical-align:middle;" />&nbsp;Ce champ n\'a pas été correctement rempli</font>';
				
			}
			else
			{
				document.getElementById('err_'+name).innerHTML='<img src="http://www.keepschool.com/images/check.gif" />';		

				document.getElementById('lb_'+name).style.color='#5D6775';
			}
			break;
			
			
			default:
				switch (secondcar)
				{
				case 'n':
				value=value.replace(',','.');
				if (isNaN(value) || value=='')
					{
					document.getElementById('err_'+name).innerHTML='<font color="red"><img src="http://www.keepschool.com/images/danger.gif" style="vertical-align:middle;" />&nbsp;Ce champ n\'a pas été correctement rempli, ou la valeur saisie n\'est pas numérique</font>';
					document.forms[formu].elements[name].style.border='2px solid red';
					document.getElementById('lb_'+name).style.color='red';
					}
				else
					{
					
					document.getElementById('err_'+name).innerHTML='<img src="http://www.keepschool.com/images/check.gif" />';	
					document.forms[formu].elements[name].style.border='2px solid #3D8337';
					document.getElementById('lb_'+name).style.color='#5D6775';
					}
				break;

				case 's':
				if (trim(value).length==0)
					{
					document.getElementById('err_'+name).innerHTML='<font color="red"><img src="http://www.keepschool.com/images/danger.gif" style="vertical-align:middle;" />&nbsp;Ce champ n\'a pas été correctement rempli</font>';
					document.forms[formu].elements[name].style.border='2px solid red';
					document.getElementById('lb_'+name).style.color='red';
					
					}
				else
					{
					document.getElementById('err_'+name).innerHTML='<img src="http://www.keepschool.com/images/check.gif" />';	
					document.forms[formu].elements[name].style.border='2px solid #3D8337';
					document.getElementById('lb_'+name).style.color='#5D6775';
					}
				break;
				
				case 'p':
				if (value!=document.forms[formu].elements['os_motdepasseconfirm'].value)
					{
					document.getElementById('err_'+name).innerHTML='<font color="red"><img src="http://www.keepschool.com/images/danger.gif" style="vertical-align:middle;" />&nbsp;Erreur mot de passe</font>';
					document.forms[formu].elements[name].style.border='2px solid red';
					document.getElementById('lb_'+name).style.color='red';
					}
				else
					{
					document.getElementById('err_'+name).innerHTML='<img src="http://www.keepschool.com/images/check.gif" />';	
					document.forms[formu].elements[name].style.border='2px solid #3D8337';
					document.getElementById('lb_'+name).style.color='#5D6775';
					}
				break;

				case 'g':
				if (value!=1)
					{
					document.getElementById('err_'+name).innerHTML='<font color="red"><img src="http://www.keepschool.com/images/danger.gif" style="vertical-align:middle;" />&nbsp;Vous n\'avez pas accpeté les conditions générales de service </font>';
					document.forms[formu].elements[name].style.border='2px solid red';
					document.getElementById('lb_'+name).style.color='red';
					}
				else
					{
					document.getElementById('err_'+name).innerHTML='<img src="http://www.keepschool.com/images/check.gif" />';	
					document.forms[formu].elements[name].style.border='2px solid #3D8337';
					document.getElementById('lb_'+name).style.color='#5D6775';
					}
				break;

				case 't':
				if (isNaN(value) || value.length!=10 || value=='')
					{
					document.getElementById('err_'+name).innerHTML='<font color="red"><img src="http://www.keepschool.com/images/danger.gif" style="vertical-align:middle;" />&nbsp;Le numéro de téléphone n\'est pas valide (10 chiffres)</font>';
					document.forms[formu].elements[name].style.border='2px solid red';
					document.getElementById('lb_'+name).style.color='red';
					}
				else
					{
					document.getElementById('err_'+name).innerHTML='<img src="http://www.keepschool.com/images/check.gif" />';	
					document.forms[formu].elements[name].style.border='2px solid #3D8337';
					document.getElementById('lb_'+name).style.color='#5D6775';
					}
				break;
				
				case 'c':
				if (isNaN(value) || value.length!=5 || value=='')
					{
					document.getElementById('err_'+name).innerHTML='<font color="red"><img src="http://www.keepschool.com/images/danger.gif" style="vertical-align:middle;" />&nbsp;Le code postal n\'est pas valide (5 chiffres)</font>';
					document.forms[formu].elements[name].style.border='2px solid red';
					document.getElementById('lb_'+name).style.color='red';
					}
				else
					{
					document.getElementById('err_'+name).innerHTML='<img src="http://www.keepschool.com/images/check.gif" />';	
					document.forms[formu].elements[name].style.border='2px solid #3D8337';
					document.getElementById('lb_'+name).style.color='#5D6775';
					}
				break;
				
				case 'd':
				if (CheckDate(value)==0)
					{
					document.getElementById('err_'+name).innerHTML='<font color="red"><img src="http://www.keepschool.com/images/danger.gif" style="vertical-align:middle;" />&nbsp;Le champ n\'a pas été rempli, ou le format non respecté (JJ/MM/AAAA)</font>';
					document.forms[formu].elements[name].style.border='2px solid red';
					document.getElementById('lb_'+name).style.color='red';
					}
				else
					{
					document.getElementById('err_'+name).innerHTML='<img src="http://www.keepschool.com/images/check.gif" />';	
					document.forms[formu].elements[name].style.border='2px solid #3D8337';
					document.getElementById('lb_'+name).style.color='#5D6775';
					}
				break;

				case 'e':
				if (!emailCheck(value))
					{
					document.getElementById('err_'+name).innerHTML='<font color="red"><img src="http://www.keepschool.com/images/danger.gif" style="vertical-align:middle;" />&nbsp;L\'adresse email n\'est pas valide</font>';
					document.forms[formu].elements[name].style.border='2px solid red';
					document.getElementById('lb_'+name).style.color='red';
					}
				else
					{
					document.getElementById('err_'+name).innerHTML='<img src="http://www.keepschool.com/images/check.gif" />';	
					document.forms[formu].elements[name].style.border='2px solid #3D8337';
					document.getElementById('lb_'+name).style.color='#5D6775';
					}
				break;

				}
			break;
		}
	


}
