function isValidDate(maDate) {
   var exp_reg = /^(?:(?:31(\/)(?:0?[13578]|1[02]))\1|(?:(?:29|30)(\/)(?:0?[1,3-9]|1[0-2])\2))(?:(?:1[6-9]|[2-9]\d)?\d{2})$|^(?:29(\/)0?2\3(?:(?:(?:1[6-9]|[2-9]\d)?(?:0[48]|[2468][048]|[13579][26])|(?:(?:16|[2468][048]|[3579][26])00))))$|^(?:0?[1-9]|1\d|2[0-8])(\/)(?:(?:0?[1-9])|(?:1[0-2]))\4(?:(?:1[6-9]|[2-9]\d)?\d{2})$/
   return exp_reg.test(maDate);
   //-- ancienne chaine : (\/|-|\.)
}


function isValidEmail(emailAddress) {
   var exp_reg = /^(([^<>()[\]\\.,;:\s@\"]+(\.[^<>()[\]\\.,;:\s@\"]+)*)|(\".+\"))@((\[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/
   return exp_reg.test(emailAddress);
}

function isValidTime(monHeure) {
   var exp_reg = /^[0-1]{0,1}[0-9]h[0-5][0-9]$/
   return exp_reg.test(monHeure);
}

// mode de reglement
function formSubmit() {
	stop=0;
	var formulaire = $('inscription_stage');
	
	/// champs obligatoire repere avec le span blue en element precedent
	$("inscription_stage").getElements("input").each(function(el){
		if(el.get('class') == 'req' && (el.value == '' || el.value == el.alt)) {
			el.setStyles({'color':'red'}); 
			stop = 1;
		} 
		if(formulaire.motif[1].checked == true) {
			if(el.get('class') == 'req2' && (el.value == '' || el.value == el.alt)) {
				el.setStyles({'color':'red'}); 
				stop = 1;
			} 
		} 
	});
	
	//-- Tests supplémentaires
	var formulaire = $('inscription_stage');
	//-- test la date de naissance
	if(isValidDate(formulaire.naissance_date.value) == false) {
		formulaire.naissance_date.setStyles({'color':'red'});
		formulaire.naissance_date.value=formulaire.naissance_date.alt;
		stop = 1;
	}
	//-- test la date de permis
	if(isValidDate(formulaire.permis_date.value) == false) {
		formulaire.permis_date.setStyles({'color':'red'});
		formulaire.permis_date.value=formulaire.permis_date.alt;
		stop = 1;
	}	
	//-- test l'email
	if(isValidEmail(formulaire.email.value) == false) {
		formulaire.email.setStyles({'color':'red'});
		formulaire.email.value=formulaire.email.alt;
		stop = 1;
	}		
	//-- test date d'infraction si cas n°2
	if(formulaire.motif[1].checked == true) {
		if(isValidDate(formulaire.infraction_date.value) == false) {
			formulaire.infraction_date.setStyles({'color':'red'});
			stop = 1;
		}
		if(isValidTime(formulaire.infraction_heure.value) == false) {
			formulaire.infraction_heure.setStyles({'color':'red'});
			stop = 1;
		}		
	}

	if(stop!=1) {

		//-- vidage des cellules non obligatoires avant envoi
		$("inscription_stage").getElements("input").each(function(el){
			if(el.get('class') != 'req' && el.value != '' && el.value == el.alt) {
					el.value='';
			}
		});
		$("inscription_stage").getElements("input").each(function(el){
			if(el.get('class') != 'req2' && el.value != '' && el.value == el.alt) {
					el.value='';
			}
		});

		formulaire.submit();
	} else {
		// scroll to debut formulaire avec message
	}
}

window.addEvent('domready', function()
    {
        /*
		cfe.spacer = "/img/gfx/spacer.gif";

        var myCfe = new cfe.replace();

        // no fieldset enhancement
        myCfe.unregisterModule("fieldset");

                // initialize cfe
        myCfe.init({
            //theme: "basic", currently not supported
		scope: $('inscription_stage')
        });
		*/
		
		/// purge du champ et remplissage
		$("inscription_stage").getElements("input").each(function(el){
			if(el.value != '' && el.type == 'text') {
				el.addEvent("focus", function(){
					el.setStyles({'color':'#000'}); 
					if(el.value==el.alt) {
						el.value = '';
					}
				});
				el.addEvent("blur", function(){
					if(el.value=='') {
						el.value = el.alt;
					}
				});
			}
		});		
		
    });
