function ValidateVol()
{

	var Numero = document.forms["ValidateVol"].Numero.value

	if (!VolVide("ValidateVol"))
	{	
		document.forms["ValidateVol"].focus();
	   	return
	}
	else if ((document.forms["ValidateVol"].Heros.value) >= 49)
	{
		alert('Le nom du héros ne peut pas excéder 50 caractères.');
		document.forms["ValidateVol"].Heros.focus();
		return
	}
	else if ((document.forms["ValidateVol"].Personnage.value) >= 49)
	{
		alert('Le nom du personnage ne peut pas excéder 50 caractères.');
		document.forms["ValidateVol"].Personnage.focus();
		return
	}
	else if ((isNaN(Numero)) || ((Numero) >= 100000))
		{
			alert('vous devez saisir le numéro de série de votre objet volé.');
			document.forms["ValidateVol"].Numero.focus();
			return 
		}
	else if (!FormatDate("ValidateVol"))
	{	
		alert('La date de votre vol doit être au format jj/mm/aaaa.');
		document.forms["ValidateVol"].focus();
	   	return
	}
	else if ((document.forms["ValidateVol"].Lieu.value) >= 49)
	{
		alert('Le nom du lieu de votre vol ne peut pas excéder 50 caractères.');
		document.forms["ValidateVol"].Lieu.focus();
		return
	}
	else if ((document.forms["ValidateVol"].Email.value) >= 49)
	{
		alert('Votre email ne peut pas excéder 50 caractères.');
		document.forms["ValidateVol"].Email.focus();
		return
	}

	document.forms["ValidateVol"].submit();
	return
}


function VolVide()
{
	var msg="";
	var empty_fields="";
	if (document.forms["ValidateVol"].Heros.value == "") 
		empty_fields += "\n       - Héros";
	
	if (document.forms["ValidateVol"].Personnage.value == "") 
		empty_fields += "\n       - Personnage";	
		
	if (document.forms["ValidateVol"].Numero.value == "") 
		empty_fields += "\n       - Numéro de série";		

	if (document.forms["ValidateVol"].Date.value == "") 
		empty_fields += "\n       - Date du vol";	
	
	if (document.forms["ValidateVol"].Lieu.value == "") 
		empty_fields += "\n       - Lieu du vol";	
		
	if (!empty_fields) return true;				
	
	msg =  "_____________________________________________________________\n\n";
	msg += "Le formulaire n'a pas été soumis en raison des erreurs suivantes.\n";
	msg += "Veuillez corriger les erreurs et soumettre le formulaire de nouveau.\n";
	msg += "_____________________________________________________________\n\n";
	msg += "L'e-mail n'est pas obligatoire mais peut être utile pour vous joindre.\n";
	msg += "Les champs obligatoires ci-après ne sont pas renseignés :\n" + empty_fields + "\n\n";
	alert(msg);
	return
}

function FormatDate()
{ 
    // Cette fonction permet de vérifier la validité d'une date au format jj/mm/aa ou jj/mm/aaaa 
    // Par Romuald 
    var d = document.forms["ValidateVol"].Date.value 
	
    if (d == "") // si la variable est vide on retourne faux 
        return false; 
     
    e = new RegExp("^[0-9]{1,2}\/[0-9]{1,2}\/([0-9]{2}|[0-9]{4})$"); 
     
    if (!e.test(d)) // On teste l'expression régulière pour valider la forme de la date 
        return false; // Si pas bon, retourne faux 
  
    // On sépare la date en 3 variables pour vérification, parseInt() converti du texte en entier 
    j = parseInt(d.split("/")[0], 10); // jour 
    m = parseInt(d.split("/")[1], 10); // mois 
    a = parseInt(d.split("/")[2], 10); // année 
  
    // Si l'année n'est composée que de 2 chiffres on complète automatiquement 
    if (a < 1000) { 
        if (a < 89)    a+=2000; // Si a < 89 alors on ajoute 2000 sinon on ajoute 1900 
        else a+=1900; 
    } 
  
    // Définition du dernier jour de février 
    // Année bissextile si annnée divisible par 4 et que ce n'est pas un siècle, ou bien si divisible par 400 
    if (a%4 == 0 && a%100 !=0 || a%400 == 0) fev = 29; 
    else fev = 28; 
  
    // Nombre de jours pour chaque mois 
    nbJours = new Array(31,fev,31,30,31,30,31,31,30,31,30,31); 
  
    // Enfin, retourne vrai si le jour est bien entre 1 et le bon nombre de jours, idem pour les mois, sinon retourn faux 
    return ( m >= 1 && m <=12 && j >= 1 && j <= nbJours[m-1] ); 
}
