

function vider_espaces_extremites(chaine) {
	ch = new String (chaine);
	ch=ch.replace(/^\s+/,"");
	ch=ch.replace(/\s+$/,"");
	return ch;
}
function reduction(red,text_alert) {
	alerte='';
	if(red>100 || red<1){
		alerte=text_alert+ "\n";
	}
	return alerte;
}
function alert_text(champ,type_alert,text_alert,lmin,obligatoire) {
	var alerte='';
	champ.value=vider_espaces_extremites(champ.value);
	chaine=champ.value;
	l=chaine.length;
	if (type_alert=="texte") {
		if (obligatoire && l==0){alerte = text_alert + "\n";}
		else {
			if (l>0 && l<lmin) {alerte = text_alert + "\n";}
		}
	}
	if (type_alert=="entier") {
		if (obligatoire && l==0){alerte = text_alert + "\n";}
		else {
			if (l>0)
			{
				exp=/^[0-9]{1,}$/;
				if (l < lmin || !(exp.test(chaine))) {
					alerte = text_alert + "\n";
				}
			}
			
		}
	}
	if (type_alert=="decimal") {
		if (obligatoire && l==0){alerte = text_alert + "\n";}
		else {
			if (l>0)
			{
				exp=/^[0-9]{1,}(\.[0-9]+)?$/;
				if (l < lmin || !(exp.test(chaine))) {
					alerte = text_alert + "\n";
				}
			}
		}
	}
	if (type_alert=="url") {
		if (obligatoire && l==0){alerte = text_alert + "\n";}
		else {
			if (l>0)
			{
				exp1=/^http:\/\/.{3}/;
				exp2=/^https:\/\/.{3}/;
				if (l<lmin || (!(exp1.test(chaine)) && !(exp2.test(chaine)))){
					alerte = text_alert + "\n";
				}
			}
		}
	}
	if (type_alert=="mail") {
		if (obligatoire && l==0){alerte = text_alert + "\n";}
		else {
			if (l>0)
			{
				exp=/^([_a-zA-Z0-9-]|\.){1,}@([_a-zA-Z0-9-]|\.){2,}\.[a-zA-Z0-9]{1,}$/;
				if (l<lmin || !(exp.test(chaine))){
					alerte = text_alert + "\n";
				}
			}

		}
	}

	if (type_alert=="date") {
		if (obligatoire && l==0){alerte = text_alert + "\n";}
		else {
			if (l>0)
			{
				exp=/^([0-9]{1,2})\/([0-9]{1,2})\/([0-9]{4})$/;
				if (l<lmin || !(exp.test(chaine))){
					alerte = text_alert + "\n";
				} else {
					var tableau = exp.exec(chaine);
					var unedate = new Date(tableau[3],tableau[2]-1,tableau[1]);
					if (unedate.getDate()!=eval(tableau[1]) || unedate.getMonth()!= eval(tableau[2])-1 || (unedate.getYear() != eval(tableau[3]) && (unedate.getYear()+1900) != eval(tableau[3])))
					{
								alerte = text_alert + "\n";
					}
				}	
			}
		}
	}

	

	return alerte;
}


function isDate(d) {
	var resultat=1;
	exp=/^([0-9]{1,2})\/([0-9]{1,2})\/([0-9]{4})$/;
	if (!(exp.test(d))){
		resultat=0;	
	}
	return resultat;
}

function compareDates(dd,df){
	resultat='1';
	// On teste si les dates de début et de fin ne sont pas vides et instancie les objets date_debut et date_fin
	var EngMonthNames	= new Array('January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December');
	if (isDate(dd)) {
		var ch_dd		= new String(dd);
		var tb_dd		= new Array(3);
		tb_dd			= ch_dd.split('/');
		var date_debut	= new Date();
		tb_dd[1] = tb_dd[1].charAt(0) == '0' ? tb_dd[1].charAt(1) : tb_dd[1];
		ts_dd = Date.parse(EngMonthNames[tb_dd[1]-1]+', '+tb_dd[0]+' '+tb_dd[2]+' 01:00:00');
	} else {
		resultat='';
	}

	if (isDate(df)) {
		var ch_df		= new String(df);
		var tb_df		= ch_df.split('/');
		var date_fin	= new Date();
		tb_df[1] = tb_df[1].charAt(0) == '0' ? tb_df[1].charAt(1) : tb_df[1];
		ts_df = Date.parse(EngMonthNames[tb_df[1]-1]+', '+tb_df[0]+' '+tb_df[2]+' 01:00:00');
	} else {
		resultat='';
	}

	// On teste si les dates de début est supérieure à la date de fin sont des vrais dates
	if (resultat=='1')
	{
		if (ts_dd == ts_df) {
			resultat='0';
		} 
		if (ts_dd < ts_df) {
			resultat='-1';
		} 
	}
	return resultat;
}

function assigner(champ,valeur){
	champ.value=valeur;
}

function soumettre(formulaire,url){
	formulaire.action=url;
	formulaire.submit();
}

function date_fr_to_eng(date_fr){
	exp=/^([0-9]{1,2})\/([0-9]{1,2})\/([0-9]{4})$/;
	if ((exp.test(date_fr))) {
		var tableau = exp.exec(date_fr);
		date_eng = tableau[3]+'-'+tableau[2]+'-'+tableau[1];
	} else {
		date_eng = '2000-01-01';
	}
	return date_eng;
}


