function ValiderDateNaissance(partie) 
{
  var formulaire = partie.form;
  var saisie = formulaire.saisie.value;
  var mois = formulaire.mois.value;
  var annee = formulaire.annee.value;
  var jour = formulaire.jour.value;
  var jourmax = 31;
  if (partie.name == 'jour') {
    formulaire.saisie.value = jour;
    saisie = jour;
  }
  if (!saisie) saisie = jour;
  if (!saisie || !mois || !annee) return;
  // Calcul du nombre de jours dans le mois sélectionné
  switch(mois) {
    case "2":
      if (annee % 4 == 0 && annee % 100 != 0 || annee % 400 == 0)
        jourmax = 29;
      else
        jourmax = 28;
      break
    case "4":
    case "6":
    case "9":
    case "11":
      jourmax = 30;
      break
    default:
      jourmax = 31;
  }
  if (saisie > jour) {
    jour = saisie;
    formulaire.jour.value = saisie;
  }
  if (jour > jourmax) formulaire.jour.value = jourmax;
} 

function collapseElem(obj)
{
 var el = document.getElementById(obj);
 el.style.display = 'none';
}

function expandElem(obj)
{
 var el = document.getElementById(obj);
 el.style.display = '';
}

// collapse all elements, except the first one
function collapseAll()
{
 var numFormPages = 1;

 for(i=2; i <= numFormPages; i++)
 {
   currPageId = ('mainForm_' + i);
   collapseElem(currPageId);
 }
}

			function validateField(fieldId, fieldBoxId, fieldType, required)
			{
				fieldBox = document.getElementById(fieldBoxId);
				fieldObj = document.getElementById(fieldId);

				if(fieldType == 'text'  ||  fieldType == 'textarea'  ||  fieldType == 'password'  ||  fieldType == 'file'  ||  fieldType == 'phone'  || fieldType == 'website')
				{	
					if(required == 1 && fieldObj.value == '')
					{
						fieldObj.setAttribute("class","mainFormError");
						fieldObj.setAttribute("className","mainFormError");
						fieldObj.focus();
						return false;					
					}

				}


				else if(fieldType == 'menu'  || fieldType == 'country'  || fieldType == 'state')
				{	
					if(required == 1 && fieldObj.selectedIndex == 0)
					{				
						fieldObj.setAttribute("class","mainFormError");
						fieldObj.setAttribute("className","mainFormError");
						fieldObj.focus();
						return false;					
					}

				}


				else if(fieldType == 'email')
				{	
					if((required == 1 && fieldObj.value=='')  ||  (fieldObj.value!=''  && !validate_email(fieldObj.value)))
					{				
						fieldObj.setAttribute("class","mainFormError");
						fieldObj.setAttribute("className","mainFormError");
						fieldObj.focus();
						return false;					
					}

				}



			}

			function validate_email(emailStr)
			{		
				apos=emailStr.indexOf("@");
				dotpos=emailStr.lastIndexOf(".");

				if (apos<1||dotpos-apos<2)
				{
					return false;
				}
				else
				{
					return true;
				}
			}


			function validateDate(fieldId, fieldBoxId, fieldType, required,  minDateStr, maxDateStr)
			{
				retValue = true;

				fieldBox = document.getElementById(fieldBoxId);
				fieldObj = document.getElementById(fieldId);	
				dateStr = fieldObj.value;


				if(required == 0  && dateStr == '')
				{
					return true;
				}


				if(dateStr.charAt(2) != '/'  || dateStr.charAt(5) != '/' || dateStr.length != 10)
				{
					retValue = false;
				}	

				else	// format's okay; check max, min
				{
					currDays = parseInt(dateStr.substr(0,2),10) + parseInt(dateStr.substr(3,2),10)*30  + parseInt(dateStr.substr(6,4),10)*365;
					//alert(currDays);

					if(maxDateStr != '')
					{
						maxDays = parseInt(maxDateStr.substr(0,2),10) + parseInt(maxDateStr.substr(3,2),10)*30  + parseInt(maxDateStr.substr(6,4),10)*365;
						//alert(maxDays);
						if(currDays > maxDays)
							retValue = false;
					}

					if(minDateStr != '')
					{
						minDays = parseInt(minDateStr.substr(0,2),10) + parseInt(minDateStr.substr(3,2),10)*30  + parseInt(minDateStr.substr(6,4),10)*365;
						//alert(minDays);
						if(currDays < minDays)
							retValue = false;
					}
				}

				if(retValue == false)
				{
					fieldObj.setAttribute("class","mainFormError");
					fieldObj.setAttribute("className","mainFormError");
					fieldObj.focus();
					return false;
				}
			}
			
			function validatePage1()
			{
				retVal = true;
				if (validateField('nom','fieldBox_1','text',1) == false)
                                 retVal=false;
                                if (validateField('pass','fieldBox_2','password',1) == false)
                                 retVal=false;
                                if (validateField('pass2','fieldBox_3','password',1) == false)
                                 retVal=false;
                                if (validateField('e_mail','fieldBox_4','email',1) == false)
                                 retVal=false;
                                if (validateField('nom_util','fieldBox_5','text',0) == false)
                                 retVal=false;
                                if (validateField('prenom_util','fieldBox_6','text',0) == false)
                                 retVal=false;
                                if (validateField('nom_ent','fieldBox_7','text',1) == false)
                                 retVal=false;
                                if (validateField('adresse','fieldBox_8','text',0) == false)
                                 retVal=false;
                                if (validateField('codep','fieldBox_9','text',0) == false)
                                 retVal=false;
                                if (validateField('ville','fieldBox_10','text',0) == false)
                                 retVal=false;
                                if (validateField('tel','fieldBox_11','phone',1) == false)
                                 retVal=false;
                                if (validateField('fax','fieldBox_12','phone',0) == false)
                                 retVal=false;

				if(retVal == false)
				{
					alert('Please correct the errors.  Fields marked with an asterisk (*) are required');
					return false;
				}
				return retVal;
			}
