
/*
Alerte sur le format d'une adresse mail
*/
function verifMail(input){
	if (erreurMail(input.val())==true){
		alert('Le format de courriel est incorrect');
		input.val("");
		input.focus();
	}
}

/*
Vérifiaction du format d'une adresse mail
*/
function erreurMail(mail){
	if (mail.length==0)return false;
	var erreur = true;
	for (var j=1 ; j<(mail.length) ; j++) {
		if (mail.charAt(j)=='@') {
			if (j<(mail.length-4)){
				for (var k=j ; k<(mail.length-2) ; k++) {
					if (mail.charAt(k)=='.') erreur = false;
				}
			}
		}
	}
	if (mail.indexOf(" ") != -1)erreur=true;
	return erreur ;
}


function verifTel(input){
	
	if (input.val()=="")return;
	
	var regExp = /(^[0-9]{2}( [0-9]{2}){4}$)|(^[0-9]{10}$)/g;
	if (matchRegularExpression(input.val(), regExp) == false) {
		if (isNaN(input.val())==true || input.val().search(/ /) != -1){
			alert('Ce champ doit être au format numérique.\n');
			input.val("");
		}else{
			if (confirm("Format de téléphone incorrect pour la France\nExemple : 0123456789 ou 01 23 45 67 89.\n\n Veuillez confirmer votre numéro.")==false){
				input.val("");
				input.focus();
			}
		}
		
	}else{
		var regExp2 = /^[0-9]{10}$/g;
		if (matchRegularExpression(input.val(), regExp2) == true){
			input.val(input.val().substring(0,2)+" "+input.val().substring(2,4)+" "+input.val().substring(4,6)+" "+input.val().substring(6,8)+" "+input.val().substring(8));
		}
	}

}

/*
Vérifie qu'une valeur correspond à une expression régulière
*/
function matchRegularExpression(valeur, regularExpression){
	var resultat = valeur.match(regularExpression);
	if(resultat!=null && resultat.length==1) return true;
	else return false;
}


function trierTableau(form,new_order_by){
	
	var order_by = form.order_by.value;
	var asc_desc = form.asc_desc.value;
	
	if (order_by == new_order_by){
		if (asc_desc=="asc")asc_desc="desc";
		else asc_desc="asc";
	}else{
		asc_desc="asc";
	}
	form.asc_desc.value = asc_desc;
	form.order_by.value = new_order_by;
	
	form.submit();
}



function verifDate(date){

	if (date.val().length==8 && isNaN(date.val())==false){
		date.val(date.val().substring(0,2)+"/"+date.val().substring(2,4)+"/"+date.val().substring(4,8));
	}

	if (erreurDate(date)==true){
		alert('Merci d\'entrer une date valide au format JJ/MM/AAAA');
		date.val("");
		return false;
	}else{
		return true;
	}
	
}


function erreurDate(date){

	var mot=date.val();
	var erreur=false;
	if (mot.length==0)return false;
	if (mot.length!=10){
		erreur=true;
	}else{
		motjour=mot.substring(0,2);
		motmois=mot.substring(3,5);
		motan=mot.substring(6,10);
		motsep=mot.charAt(2)+mot.charAt(5);
		
		if (isNaN(motjour+motmois+motan)|| motan>3000 ||motan<1900 || motsep!="//"){
			erreur=true;
		}else {
			choix="";
			if (motan-(parseInt(motan/4)*4)==0) choix="bi";
			if (motan-(parseInt(motan/4)*4)==0&&motan-(parseInt(motan/100)*100)==0) choix="";
			if (motan-(parseInt(motan/4)*4)==0&&motan-(parseInt(motan/400)*400)==0)	choix="bi";
			
			switch (motmois){
				case "01":
					if(motjour<1 || motjour>31)erreur=true;
					break;
				case"02":
					if(choix=="bi"){
						if(motjour<1 || motjour>29)
							erreur=true;
					}else{
						if(motjour<1 || motjour>28)
							erreur=true;
					}
					break;
				case "03":
					if(motjour<1 || motjour>31)erreur=true;
					break;
				case "04":
					if(motjour<1 || motjour>30)erreur=true;
					break;
				case "05":
					if(motjour<1 || motjour>31)erreur=true;
					break;
				case "06":
					if(motjour<1 || motjour>30)erreur=true;
					break;
				case "07":
					if(motjour<1 || motjour>31)erreur=true;
					break;
				case "08":
					if(motjour<1 || motjour>31)erreur=true;
					break;
				case "09":
					if(motjour<1 || motjour>30)erreur=true;
					break;
				case "10":
					if(motjour<1 || motjour>31)erreur=true;
					break;
				case "11":
					if(motjour<1 || motjour>30)erreur=true;
					break;
				case "12":
					if(motjour<1 || motjour>31)erreur=true;
					break;
				default:
					erreur=true;
			}
		}
	}
	
	return erreur;

}


function checkUncheck(id){
	document.getElementById(id).checked = !document.getElementById(id).checked;
}

function checkDateMoinsDateJour(nb_mois,date){
	
	var date_jour=new Date();
	var jour=date.val().substring(0,2);
	var mois=date.val().substring(3,5);
	var an=date.val().substring(6,10);
	var date_compare=new Date(an,mois-1,jour);
	
	mois = (Date.parse(date_compare) - Date.parse(date_jour)) / (3600000*24*30.41);
	
	if (mois>nb_mois){
		alert('La date ne doit pas être supérieure de plus de '+nb_mois+' mois à la date du jour');
		date.val("");
		return false;
	}else{
		return true;
	}
}


function verifNumerique(input, avant, apres){
	var erreur = false;
	//var apres=0;
	//var avant=2;
	
	var message = '';
	if (isNaN(input.val())==true || input.val().search(/ /) != -1){
		message += 'Ce champ doit être au format numérique.\n';
		erreur = true;
	}
	if (apres == 0 && input.val().indexOf('.') != -1){
		message += 'Les décimales ne sont pas autorisées.\n';
		erreur = true;
	}
	if (input.val().length > avant && input.val().indexOf('.') == -1){
		message += 'Trop de chiffres (maximum : '+avant+')\n';
		erreur = true;
	}
	if (apres > 0 && input.val().indexOf('.') != -1){
		var vals = input.val().split('.');
		if (vals[0].length > avant){
			message += 'Trop de chiffres avant la virgule (maximum : '+avant+')\n';
			erreur = true;
		}
		if (vals[1].length > apres){
			message += 'Trop de chiffres après la virgule (maximum : '+apres+')\n';
			erreur = true;
		}
	}
	if (input.val().indexOf('-') != -1){
		message += 'Les nombres négatifs ne sont pas autorisés\n';
		erreur = true;
	}
	if (erreur==true){
		message += 'Taille maximum du nombre : ';
		
		for (var i = 0 ; i < avant ; i++){
			message += 'x';
		}
		if (apres > 0)message += '.';
		for (var i = 0 ; i < apres ; i++){
			message += 'x';
		}
		
		input.val("");
		alert(message);
		input.focus();
	}
	return erreur;
}


function enableToolTips(){
	$(".enable_tooltip").ToolTip({
		className: 'tooltips',
		position: 'mouse',
		delay: 200
	});
}

function showDispositif(a){

	if(a == "espoir"){
		$("#tabDispositif").css("display","block");
        $("#dispositif").addClass('champ_obligatoire');
        $("#organisme").addClass('champ_obligatoire');
	}else{
		$("#tabDispositif").css("display","none");	
		$("#dispositif").removeClass('champ_obligatoire');
		$("#organisme").removeClass('champ_obligatoire');
		
	}
}


function checkFormEspoir(){
	 var allInputs = $("#organisme") ? "" : $(":input[type=text]");	
	 var msg = "";
	 
	 allInputs.removeClass("form_error");
	 allInputs.removeClass("form_error");
		
	 allInputs.each(function (index){
			 if($(this).val() == ""){
				 msg += "Veuillez remplir le champ : " + $(this).attr("title")+"\n";
				 $(this).addClass("form_error");
			 } 
		 });
		
		if (msg == "")
			return (true);
		else {
			alert(msg);
			return (false);
		}

	}
