function validateDate(str) {
	var re = new RegExp("^[0-9]{2}[/][0-9]{2}[/][0-9]{4}$");
	return re.test(str);
}

function validateEmail(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>4) {return false;}
	if (len<2) {return false;}
	return true;
}

/**
	Validation pour le formulaire central
*/
window.addEvent('domready', function() {
	$$('form#admEditForm').addEvents({
		'submit': function() {
		
			// Vérification de la présence des différents champs obligatoire
			var fields = [
				'wwf_nom', 
				'wwf_email', 
				'wwf_prenom', 
				'wwf_date_naissance', 
				'wwf_adresse', 
				'wwf_code_postal', 
				'wwf_ville', 
			//	'wwf_pays', 
				'wwf_tel'
			];
			
			var ok = true;
			try {
				fields.each(function(field) {
					var input = document.getElementById(field);
					var label = document.getElementById('lab_' + field);
					if ($(input).getProperty('value') == '')  {
						$(label).setProperty('class','erreur');
						ok = false;
					}
					else {
						$(label).setProperty('class','');
					}
				});
			}
			catch (exc) {
				$('erreurContainer').set('html', '<h4 class="erreur">Les champs en rouge comporte des erreurs</h4>');
				var myEffect = new Fx.Morph('erreurContainer', {duration: 'long', transition: Fx.Transitions.Sine.easeOut});
 				myEffect.start({'opacity': [0, 1]});
				return false;
			} 
			// Vérification de l'adresse postal
			if (!ok) {
				$('erreurContainer').set('html', '<h4 class="erreur">Les champs en rouge comporte des erreurs</h4>');
				var myEffect = new Fx.Morph('erreurContainer', {duration: 'long', transition: Fx.Transitions.Sine.easeOut});
 				myEffect.start({'opacity': [0, 1]});
				return false;
			}
			
			// Vérification du format de la date
			if (!validateDate($('wwf_date_naissance').get('value'))) {
				$('erreurContainer').set('html', '<h4 class="erreur">La date doit être au format JJ/MM/AAAA. </h4>');
				var myEffect = new Fx.Morph('erreurContainer', {duration: 'long', transition: Fx.Transitions.Sine.easeOut});
 				myEffect.start({'opacity': [0, 1]});
				return false;
			}
			
			// Vérification de l'adresse mail
			if (!validateEmail($('wwf_email').get('value'))) {
				$('erreurContainer').set('html', '<h4 class="erreur">L\'email n\'est pas valide . </h4>');
				var myEffect = new Fx.Morph('erreurContainer', {duration: 'long', transition: Fx.Transitions.Sine.easeOut});
 				myEffect.start({'opacity': [0, 1]});
				return false;
			}
			
			// Vérification
			if ($$('input#wwf_verifier').get('value') == "0") {

				pageTracker._addTrans(document.getElementById('wwf_email').value,        	 // Order ID
										"Abonnement Panda Magazine",  					 	 // Affiliation
										document.getElementById('abonnementPrix').innerHTML, // Total
										"19.6",           								 	 // Tax
										"0",              								 	 // Shipping
										document.getElementById('wwf_ville').value,      	 // City
										"",     									     	 // State
										document.getElementById('wwf_pays').value        	 // Country
									  );									  

				pageTracker._trackTrans();
				
				$('erreurContainer').set('html','');
				$('chargementBox').style.display = 'block';
				var HTMLRequest = new Request.HTML({
					async: false,
					url:'/formulaire/qas.php'
				}).post($('admEditForm'));
				$('chargementBox').style.display = 'none';
				return false;
			}
			else {
				return true;
			}
		} 
	});
});

/**
	Validation pour le formulaire devenir bénévole
*/

window.addEvent('domready', function() {
	$$('form#form_intro_devenir_benevole').addEvents({
		'submit': function() {
			var ok = ( $('benevole_activite').getProperty('checked') 
				|| $('benevole_admin').getProperty('checked')
				|| $('benevole_education').getProperty('checked')
				|| $('benevole_manif').getProperty('checked')
				|| $('benevole_representation').getProperty('checked')
				|| $('benevole_salon').getProperty('checked')
			);
			if (!ok) {
				$('erreurContainer').set('html', '<h4 class="erreur">Merci de bien vouloir sélectionner au moins une mission</h4>');
				var myEffect = new Fx.Morph('erreurContainer', {duration: 'long', transition: Fx.Transitions.Sine.easeOut});
 				myEffect.start({'opacity': [0, 1]});
				return false;
			}
			else {
				return true;
			}
		}
	});
});

/**
	Validation pour le formulaire devenir membre
*/
window.addEvent('domready', function() {
	$$('form#form_intro_devenir_membre').addEvents({
		'submit':function() {
			var ok = $('membre_type_1').getProperty('checked')
			|| $('membre_type_2').getProperty('checked')
			|| $('membre_type_3').getProperty('checked')
			|| ($('membre_donlibre').getProperty('value') != "")
			if (!ok) {
				$('erreurContainer').set('html', '<h4 class="erreur">Merci de bien vouloir sélectionner au moins une mission</h4>');
				var myEffect = new Fx.Morph('erreurContainer', {duration: 'long', transition: Fx.Transitions.Sine.easeOut});
 				myEffect.start({'opacity': [0, 1]});
				return false;
			}
			else {
				return true;
			}
		}
	});
});

