/** 
 *
 * @package group
 * @version 1.0.0 
 * 
 */
 
/**
 * Initialise un calendrier
 * @param string sInputFieldId 
 * @param string sDisplayAreaId
 * @param string sTriggerId
 * @param string sDefaultValue
 * @return void
 */
function initCalendar(sInputFieldId, sDisplayAreaId, sTriggerId, sDefaultValue){

	var oDate = stringToDate(sDefaultValue);
	var oCalendar = Calendar.setup({
									inputField	:    sInputFieldId,
									displayArea	:    sDisplayAreaId,
									ifFormat	:    "%d/%m/%Y",
									daFormat	:    "%A %d %B %Y",
									showsTime	:    false, 
									button 		:    sTriggerId,
									singleClick	:    false,
									step 		:    1,
									range 		: Array(1995, 2015),
									showOthers  : false,
									onSelect	: onSelectHandler
									});
	
	window.document.getElementById(sDisplayAreaId).innerHTML = oDate.print("%A %d %B %Y");
	
}//end function

/**
 * Convertit une chaîne de caractère de la forme jour/mois/année en objet Date
 * @param string sDate 
 * @return Date
 */
function stringToDate(sDate){
	if(sDate.length > 0){
		var aDate = sDate.split('/');
		return new Date(aDate[2], aDate[1] -1, aDate[0]);
	}//end if
	else{
		return new Date();
	}//end else
}//end function

/**
 * Convertit la valeur du champ sField en objet Date. voir stringToDate(sDate)
 * @param string sField 
 * @return Date
 */
function fieldToDate(sField){
	var sDate = window.document.getElementById(sField).value;
	return stringToDate(sDate);
}//end function

/**
 * Renvoie true si le champ sField est vide
 * @param string sField 
 * @return Date
 */
function isFieldEmpty(sField){
	return (window.document.getElementById(sField).value.length == 0);
}//end function

/**
 * Renvoie true si l'élément sArea est vide
 * @param string sArea 
 * @return Date
 */
function isDisplayAreaEmpty(sArea){
	return (window.document.getElementById(sArea).innerHTML.length == 0);
}//end function

/**
 * Renvoie 0 si les dates représentent le même jour, 1 si la premiere est postérieur à la seconde, -1 sinon 
 * 
 * @param Date oDate1 
 * @param Date oDate2
 * @return Date
 */
function compareDate(oDate1, oDate2){

	if(	oDate1.getDay() == oDate2.getDay() && 
			oDate1.getMonth() == oDate2.getMonth() &&
			oDate1.getYear() == oDate2.getYear()){
		return 0;
	}//end if
	else if(oDate1.getTime() > oDate2.getTime()){
		return 1;
	}//end elseif
	else{
		return -1;
	}//end else
	
}//end function