//*******************************************************************************
// FONCTION : Dateheure1InfDateheure2(date1,date2) 
// DESCRIPTION : Retourne faux si un date1 est inferieure à date2 sinon vrai
// PARAMETRE EN ENTREE : 
// date1 : contient une date et une heure
// date2 : contient une date et une heure
function Dateheure1InfDateheure2(dateheure1,dateheure2)
{
	madate1 = dateheure1.slice(6,10)+dateheure1.slice(3,5)+dateheure1.slice(0,2)+dateheure1.slice(11,13)+dateheure1.slice(14,16);
	madate2 = dateheure2.slice(6,10)+dateheure2.slice(3,5)+dateheure2.slice(0,2)+dateheure2.slice(11,13)+dateheure2.slice(14,16);
	if (madate1>madate2) 
	{ 
		return(true); 
	} 
	else
	{ 
		return(false); 
	}
}

// POUR TESTER LE BON FORMAT DES DATES
var RE_NUM = /^\-?\d+$/;

// date parsing function
function cal_prs_date1 (str_date)
{
	var date_complete = str_date.split(' ');
	var str_date_date = date_complete[0];
	var str_date_time = date_complete[1];
	
	// TEST DE LA DATE
	var arr_date = str_date_date.split('/');
	if (arr_date.length != 3) return cal_error ("Le format de date est invalide : '" + str_date + "'.\nLe format accepté est : dd/mm/yyyy.");
	if (!arr_date[0]) return cal_error ("Le format de date est invalide : '" + str_date + "'.\nLe jour n\'existe pas.");
	if (!RE_NUM.exec(arr_date[0])) return cal_error ("Le jour est invalide : '" + arr_date[0] + "'.\nLa valeur doit être numérique.");
	if (!arr_date[1]) return cal_error ("Le format de date est invalide : '" + str_date + "'.\nLe mois n\'existe pas.");
	if (!RE_NUM.exec(arr_date[1])) return cal_error ("Le mois est invalide : '" + arr_date[1] + "'.\nLa valeur doit être numérique.");
	if (!arr_date[2]) return cal_error ("Le format de date est invalide : '" + str_date + "'.\nL\'année n\'existe pas.");
	if (!RE_NUM.exec(arr_date[2])) return cal_error ("L\'année est invalide : '" + arr_date[2] + "'.\nLa valeur doit être numérique.");
	var dt_date = new Date();
	dt_date.setDate(1);
	if (arr_date[1] < 1 || arr_date[1] > 12) return cal_error ("Le mois est invalide : '" + arr_date[1] + "'.\nValeur permise : 01-12.");
	dt_date.setMonth(arr_date[1]-1);
	if (arr_date[2] < 100) arr_date[2] = Number(arr_date[2]) + (arr_date[2] < NUM_CENTYEAR ? 2000 : 1900);
	dt_date.setFullYear(arr_date[2]);
	var dt_numdays = new Date(arr_date[2], arr_date[1], 0);
	dt_date.setDate(arr_date[0]);
	if (dt_date.getMonth() != (arr_date[1]-1)) return cal_error ("Le jour est invalide : '" + arr_date[0] + "'.\nValeur permise : 01-"+dt_numdays.getDate()+".");
	
	
	
	// TEST DE L'HEURE
	if (!dt_date) return null;
	//var arr_time = String(str_time ? str_time : '').split(':');
	var arr_time = str_date_time.split(':');
	if (!arr_time[0]) dt_date.setHours(0);
	else if (RE_NUM.exec(arr_time[0])) 
		if (arr_time[0] < 24) dt_date.setHours(arr_time[0]);
		else return cal_error ("L\'heure est invalide : '" + arr_time[0] + "'.\nValeur permise : 00-23.");
	else return cal_error ("Le format d\'heure est invalide : '" + arr_time[0] + "'.\nLa valeur doit être numérique.");
	if (!arr_time[1]) dt_date.setMinutes(0);
	else if (RE_NUM.exec(arr_time[1]))
		if (arr_time[1] < 60) dt_date.setMinutes(arr_time[1]);
		else return cal_error ("Les minutes sont invalides : '" + arr_time[1] + "'.\nValeur permise : 00-59.");
	else return cal_error ("Les minutes sont invalides : '" + arr_time[1] + "'.\nLa valeur doit étre numérique.");
	if (!arr_time[2]) dt_date.setSeconds(0);
	else if (RE_NUM.exec(arr_time[2]))
		if (arr_time[2] < 60) dt_date.setSeconds(arr_time[2]);
		else return cal_error ("Les secondes sont invalides : '" + arr_time[2] + "'.\nValeur permise : 00-59.");
	else return cal_error ("Les secondes sont invalides : '" + arr_time[2] + "'.\nLa valeur doit être numérique.");
	dt_date.setMilliseconds(0);
	
	return (dt_date)
}

function cal_error (str_message)
{
	alert (str_message);
	return(false);
}
// FIN POUR TESTER LE BON FORMAT DES DATES

