/*
(C) www.dhtmlgoodies.com, September 2005

Version 1.2, November 8th - 2005 - Added <iframe> background in IE
Version 1.3, November 12th - 2005 - Fixed top bar position in Opera 7
Version 1.4, December 28th - 2005 - Support for Spanish and Portuguese
Version 1.5, January  18th - 2006 - Fixed problem with next-previous buttons after a month has been selected from dropdown
Version 1.6, February 22nd - 2006 - Added variable which holds the path to images.
									Format todays date at the bottom by use of the todayStringFormat variable
									Pick todays date by clicking on todays date at the bottom of the calendar
Version 2.0	 May, 25th - 2006	  - Added support for time(hour and minutes) and changing year and hour when holding mouse over + and - options. (i.e. instead of click)

Version 2.1	 20 Septembre  2006		--Abdo---
									-Ne plus afficher les années inférieures a l'année courante
									-Barrer les jours inférieurs à la date du jour, et les rendre non cliquables
									-Ne plus afficher le bouton "previous" (mois) si le mois  précédant et inférieur au mois courant
									-Ajouter les jours du mois suivant et et du mois précédant

Version 2.2	 15 Décembre  2006		--Abdo---
									-Ajout prametre année max : afficher que les jours entre la date du jour et + x année
									-Ne plus utiliser les images : mois suivant et précédent, liste des mois et des années

Version 2.3	 18 Décembre  2006		--Abdo---
									-Ajout fonction pour afficher seulement les jours entre deux dates
									-Ajout Fonction pour afficher seulement une liste de dates
									-Ajout fonction pour afficher les dates des jours d'operation
									-Ajour paramétrages actualiser la date de retour (+jours et + mois)
									
									
//+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++\\
||                                              Les fonctions                                              ||
\\+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++//

***************************************  displayCalendarSelectBox
Affichage calendrier du date du jour ==> x an
Exemple d'appel:
displayCalendarSelectBox
	(
	document.recherche_vol.depart_annee,		// L'input du retour ANNEE (text ou select)
	document.recherche_vol.depart_mois,			// L'input du retour MOIS (text ou select)
	document.recherche_vol.depart_jour,			// L'input du retour JOUR (text ou select)
	false,										// Affichage ou non des heures
	false,										// Affichage ou non des minutes
	this,										// L'objet (image calendar)
	1											// L'idlangue
	 
	[	,										// Paramètres optionnels si spécifiés ==> MAJ de la date de retour
	 	document.recherche_vol.retour_annee,	// L'input du retour ANNEE RETOUR(text ou select)
	 	document.recherche_vol.retour_mois,		// L'input du retour MOIS RETOUR(text ou select)
		document.recherche_vol.retour_jour,		// L'input du retour JOUR RETOUR(text ou select)
		7,										// Le nombre de jour à ajouter à la date de départ
		0										// Le nombre de mois à ajouter à la date de départ
	]
	);
***************************************  displayCalendarSelectBox2
Affichage calendrier entre deux dates
Exemple d'appel:
displayCalendarSelectBox2
	(
	document.recherche_vol.depart_annee,		// L'input du retour ANNEE (text ou select)
	document.recherche_vol.depart_mois,			// L'input du retour MOIS (text ou select)
	document.recherche_vol.depart_jour,			// L'input du retour JOUR (text ou select)
	
	01,											// le jour min
	05,											// le mois min	
	2007,										// l'année min
	30,											// le jour max
	05,											// le mois max
	2007,										// l'année max
	
	false,										// Affichage ou non des heures
	false,										// Affichage ou non des minutes
	this,										// L'objet (image calendar)
	1											// L'idlangue
	
	[	,										// Paramètres optionnels si spécifiés ==> MAJ de la date de retour
	 	document.recherche_vol.retour_annee,	// L'input du retour ANNEE RETOUR(text ou select)
	 	document.recherche_vol.retour_mois,		// L'input du retour MOIS RETOUR(text ou select)
		document.recherche_vol.retour_jour,		// L'input du retour JOUR RETOUR(text ou select)
		7,										// Le nombre de jour à ajouter à la date de départ
		0										// Le nombre de mois à ajouter à la date de départ
	]
	);
***************************************  displayCalendarSelectBox3
Affichage calendrier avec seulement les dates passées comme param qui sont actives
Exemple d'appel:
displayCalendarSelectBox3
	(
	false,										// Affichage ou non des heures
	false,										// Affichage ou non des minutes
	this,										// L'objet (image calendar)
	document.recherche_vol.depart_annee,		// L'input du retour ANNEE (text ou select)
	document.recherche_vol.depart_mois,			// L'input du retour MOIS (text ou select)
	document.recherche_vol.depart_jour,			// L'input du retour JOUR (text ou select)
	1,											// L'idlangue
	
	[											// Paramètres optionnels si spécifiés ==> MAJ de la date de retour
		 document.recherche_vol.retour_annee,	// L'input du retour ANNEE RETOUR(text ou select)
		 document.recherche_vol.retour_mois,	// L'input du retour MOIS RETOUR(text ou select)
		 document.recherche_vol.retour_jour,	// L'input du retour JOUR RETOUR(text ou select)
		 7,										// Le nombre de jour à ajouter à la date de départ
		 0,										// Le nombre de mois à ajouter à la date de départ
	]
	01,											// Le mois min
	2007,										// L'année min
	05,											// Le mois max
	2007,										// L'année max
	'01/01/2007','27/02/2007',...,'05/03/2007'	// La liste des dates actives
	 );
***************************************  displayCalendarSelectBox4
Affichage calendrier avec seulement les dates des jours d'operations
Exemple d'appel:
displayCalendarSelectBox4
	(
	document.recherche_vol.depart_annee,		// L'input du retour ANNEE (text ou select)
	document.recherche_vol.depart_mois,			// L'input du retour MOIS (text ou select)
	document.recherche_vol.depart_jour,			// L'input du retour JOUR (text ou select)
	false,										// Affichage ou non des heures
	false,										// Affichage ou non des minutes
	this,										// L'objet (image calendar)
	1,											// L'idlangue
	
	0,											// Si Dimanche 	est un jour d'opération (0 ou 1)
	1,											// Si Lundi 	est un jour d'opération (0 ou 1)
	0,											// Si Mardi 	est un jour d'opération (0 ou 1)
	1,											// Si Mercredi 	est un jour d'opération (0 ou 1)
	0,											// Si Jeudi		est un jour d'opération (0 ou 1)
	1,											// Si Vendredi 	est un jour d'opération (0 ou 1)
	0											// Si Samedi 	est un jour d'opération (0 ou 1)

	[,											// Paramètres optionnels si spécifiés ==> MAJ de la date de retour
		 document.recherche_vol.retour_annee,	// L'input du retour ANNEE RETOUR(text ou select)
		 document.recherche_vol.retour_mois,	// L'input du retour MOIS RETOUR(text ou select)
		 document.recherche_vol.retour_jour,	// L'input du retour JOUR RETOUR(text ou select)
		 7,										// Le nombre de jour à ajouter à la date de départ
		 0,										// Le nombre de mois à ajouter à la date de départ
	]
	);
//+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++\\
||                                            Fin Les fonctions                                            ||
\\+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++//


This is a script from www.dhtmlgoodies.com. You will find this and a lot of other scripts at our website.	

Terms of use:
You are free to use this script as long as the copyright message is kept intact. However, you may not
redistribute, sell or repost it without our permission.

Thank you!

www.dhtmlgoodies.com
Alf Magne Kalleland

*/
//document.documentElement.onclick = closeCalendar;
//alert(document.documentElement.nodeName);
var calendar_display_time = true;
var languageCode='fr';						
// Format of current day at the bottom of the calendar
// [todayString] = the value of todayString
// [dayString] = day of week (examle: mon, tue, wed...)
// [UCFdayString] = day of week (examle: Mon, Tue, Wed...) ( First letter in uppercase)
// [day] = Day of month, 1..31
// [monthString] = Name of current month
// [year] = Current year							
var todayStringFormat = '[todayString] [UCFdayString]. [day]. [monthString] [year]';						
var pathToImages = 'images/';	// Relative to your HTML file

var speedOfSelectBoxSliding = 200;	// Milliseconds between changing year and hour when holding mouse over "-" and "+" - lower value = faster
var intervalSelectBox_minutes = 5;	// Minute select box - interval between each option (5 = default)


var annee_plus=2;// nb année max

var jplus=7; // nombre de jour à ajouter à la date de départ pour avoir la date de retour
var mplus=0; // nombre de mois à ajouter à la date de départ pour avoir la date de retour
var AjouterRetour=false;						
						
var calendar_offsetTop = 0;		// Offset - calendar placement - You probably have to modify this value if you're not using a strict doctype
var calendar_offsetLeft = 0;	// Offset - calendar placement - You probably have to modify this value if you're not using a strict doctype
var calendarDiv = false;

var MSIE = false;
var Opera = false;
if(navigator.userAgent.indexOf('MSIE')>=0 && navigator.userAgent.indexOf('Opera')<0)MSIE=true;
if(navigator.userAgent.indexOf('Opera')>=0)Opera=true;


////////////////////////////////////////////////////////////////////////////////
/////////////////////// Noms des mois et des jours /////////////////////////////
////////////////////////////////////////////////////////////////////////////////

//	EX=[Fraçais,English,Italiano,Deutsch,Espanol,Portugues]
var JanArray=['Janvier','January','Gennaio','xx','xx','Janeiro'];
var FevArray=['F&eacute;vrier','February','Febbraio','xx','xx','Fevereiro'];
var MarArray=['Mars','March','Marzo','xx','xx','Mar&ccedil;o'];
var AvrArray=['Avril','April','Aprile','xx','xx','Abril'];
var MaiArray=['Mai','May','Maggio','xx','xx','Maio'];
var JunArray=['Juin','June','Giugno','xx','xx','Junho'];
var JuiArray=['Juillet','July','Luglio','xx','xx','Julho'];
var AouArray=['Ao&ucirc;t','August','Agosto','xx','xx','Agosto'];
var SepArray=['Septembre','September','Settembre','xx','xx','Setembro'];
var OctArray=['Octobre','October','Ottobre','xx','xx','Outubro'];
var NovArray=['Novembre','November','Novembre','xx','xx','Novembro'];
var DecArray=['D&eacute;cembre','December','Dicembre','xx','xx','Dezembro'];

var JanShortArray=['Jan','Jan','Gen','xx','xx','Jan'];
var FevShortArray=['F&eacute;v','Feb','Feb','xx','xx','Fev'];
var MarShortArray=['Mar','Mar','Mar','xx','xx','Mar'];
var AvrShortArray=['Avr','Apr','Apr','xx','xx','Abr'];
var MaiShortArray=['Mai','May','Mag','xx','xx','Mai'];
var JunShortArray=['Jun','Jun','Giu','xx','xx','Jun'];
var JuiShortArray=['Jul','Jul','Lugl','xx','xx','Jul'];
var AouShortArray=['Ao&ucirc;t','Aug','Ago','xx','xx','Ago'];
var SepShortArray=['Sep','Sep','Set','xx','xx','Set'];
var OctShortArray=['Oct','Oct','Ott','xx','xx','Out'];
var NovShortArray=['Nov','Nov','Nov','xx','xx','Nov'];
var DecShortArray=['D&eacute;c','Dec','Dic','xx','xx','Dez'];

var LundiArray=['Lundi','Monday','Luned&igrave;','xx','xx','Segunda-feira'];
var MardiArray=['Mardi','Tuesday','Marted&igrave;','xx','xx','Ter&ccedil;a-feira'];
var MercrediArray=['Mercredi','Wednesday','Mercoled&igrave;','xx','xx','Quarta-feira'];
var JeudiArray=['Jeudi','Thursday','Gioved&igrave;','xx','xx','Quinta-feira'];
var VendrediArray=['Vendredi','Friday','Venerd&igrave;','xx','xx','Sexta-feira'];
var SamediArray=['Samedi','Saturday','Sabato','xx','xx','S&aacute;bado'];
var DimancheArray=['Dimanche','Sunday','Domenica','xx','xx','Domingo'];


var LundiShortArray=['Lun','Mon','Lun','xx','xx','Seg'];
var MardiShortArray=['Mar','Tue','Mar','xx','xx','Ter'];
var MercrediShortArray=['Mer','Wed','Mer','xx','xx','Qua'];
var JeudiShortArray=['Jeu','Thu','Gio','xx','xx','Qui'];
var VendrediShortArray=['Ven','Fri','Ven','xx','xx','Sex'];
var SamediShortArray=['Sam','Sat','Sab','xx','xx','S&aacute;b'];
var DimancheShortArray=['Dim','Sun','Dom','xx','xx','Dom'];

var weekArray= ['Sem','Week','Sett','xx','xx','Sem'];
var todayArray= ["Aujourd'hui","Today","Oggi &egrave; il",'xx','xx','Hoje &eacute;'];
var closeArray= ['Fermer','Close','Fine','xx','xx','Fim'];

var idlangue=0;

var ladate=new Date()
var annee_courant=ladate.getFullYear();
var mois_courant=ladate.getMonth();
var jour_courant=ladate.getDate();

var annee_max=annee_courant+annee_plus;
var mois_max=mois_courant;
var jour_max=jour_courant;

/*var annee_courant=2008;
var mois_courant=0;
var jour_courant=9;*/
var daysInMonthArray = [31,28,31,30,31,30,31,31,30,31,30,31];
var currentMonth;
var currentYear;

var ArrayDates=new Array;
var ArrayJO=new Array;

var currentHour;
var currentMinute;
var calendarContentDiv;
var returnDateTo;
var returnFormat;
var activeSelectBoxMonth;
var activeSelectBoxYear;
var activeSelectBoxHour;
var activeSelectBoxMinute;

var iframeObj = false;

var returnDateToYear;
var returnDateToMonth;
var returnDateToDay;
var returnDateToHour;
var returnDateToMinute;

var inputYear;
var inputMonth;
var inputDay;
var inputHour;
var inputMinute;
var calendarDisplayTime = false;
var calendarDisplayTimeMinute = false;

var selectBoxHighlightColor = '#D60808'; 	// Highlight color of select boxes
var selectBoxRolloverBgColor = '#E6E6E6'; 	// Background color on drop down lists(rollover) (CSS : bg du bottum bar et col des semaines)

var selectBoxMovementInProgress = false;
var activeSelectBox = false;

var nom_div_jour_depart='nom_jour_depart';		// Le nom du Div du jour de la semaine (départ)
var nom_div_jour_retour='nom_jour_retour';		// Le nom du Div du jour de la semaine (retour)
function cancelCalendarEvent()
{
	return false;
}
function isLeapYear(inputYear)
{
	if(inputYear%400==0||(inputYear%4==0&&inputYear%100!=0)) return true;
	return false;	
	
}
var activeSelectBoxMonth = false;
var activeSelectBoxDirection = false;

function highlightMonthYear()
{
	if(activeSelectBoxMonth)activeSelectBoxMonth.className='';
	activeSelectBox = this;

	//alert(this.className);
	if(this.className=='monthYearActive'){
		this.className='';	
	}else{
		this.className = 'monthYearActive';
		activeSelectBoxMonth = this;
	}
	
	if(this.innerHTML.indexOf('-')>=0 || this.innerHTML.indexOf('+')>=0){
		//alert(this.className);
		if(this.className=='monthYearActive')
			selectBoxMovementInProgress = true; 
		else 
			selectBoxMovementInProgress = false;	
		if(this.innerHTML.indexOf('-')>=0)activeSelectBoxDirection = -1; else activeSelectBoxDirection = 1;	
	//alert(this.innerHTML.indexOf('-'))
	}
	
	else selectBoxMovementInProgress = false;
	
}

function showMonthDropDown()
{
	if(document.getElementById('monthDropDown').style.display=='block'){
		document.getElementById('monthDropDown').style.display='none';	
	}else{
		document.getElementById('monthDropDown').style.display='block';		
		document.getElementById('yearDropDown').style.display='none';
		document.getElementById('hourDropDown').style.display='none';
		document.getElementById('minuteDropDown').style.display='none';
	}
}

function showYearDropDown()
{
	if(document.getElementById('yearDropDown').style.display=='block'){
		document.getElementById('yearDropDown').style.display='none';	
	}else{
		document.getElementById('yearDropDown').style.display='block';	
		document.getElementById('monthDropDown').style.display='none';	
		document.getElementById('hourDropDown').style.display='none';
		document.getElementById('minuteDropDown').style.display='none';		
	}		

}
function showHourDropDown()
{
	if(document.getElementById('hourDropDown').style.display=='block'){
		document.getElementById('hourDropDown').style.display='none';	
	}else{
		document.getElementById('hourDropDown').style.display='block';	
		document.getElementById('monthDropDown').style.display='none';	
		document.getElementById('yearDropDown').style.display='none';	
		document.getElementById('minuteDropDown').style.display='none';	
	}		

}
function showMinuteDropDown()
{
	if(document.getElementById('minuteDropDown').style.display=='block'){
		document.getElementById('minuteDropDown').style.display='none';	
	}else{
		document.getElementById('minuteDropDown').style.display='block';	
		document.getElementById('monthDropDown').style.display='none';	
		document.getElementById('yearDropDown').style.display='none';	
		document.getElementById('hourDropDown').style.display='none';	
	}		

}

function selectMonth()
{
	
	document.getElementById('calendar_month_txt').innerHTML = this.innerHTML
	currentMonth = this.id.replace(/[^\d]/g,'');

	document.getElementById('monthDropDown').style.display='none';
	for(var no=0;no<monthArray.length;no++){
		document.getElementById('monthDiv_'+no).style.color='';	
	}
	this.style.color = selectBoxHighlightColor;
	activeSelectBoxMonth = this;
	writeCalendarContent();
	if(currentYear < annee_courant)
		{
			document.getElementById('image_left').style.visibility='hidden';
		}
	else
		{
			if(currentYear == annee_courant)
			{
				if(currentMonth <=mois_courant)
					{
						document.getElementById('image_left').style.visibility='hidden';
					}
				else
					{
						document.getElementById('image_left').style.visibility='visible';
					}
			}
			else
				{
					document.getElementById('image_left').style.visibility='visible';
				}
		}
	if(currentYear < annee_max-1)
		{
			document.getElementById('image_right').style.visibility='visible';
		}
	else
		{
			if(currentYear == annee_max-1)
			{
				
				if(currentMonth >= mois_max)
					document.getElementById('image_right').style.visibility='hidden';
				else
					document.getElementById('image_right').style.visibility='visible';
			}
			else
			{
				document.getElementById('image_right').style.visibility='hidden';
			}			
		}
}

function selectHour()
{
	document.getElementById('calendar_hour_txt').innerHTML = this.innerHTML
	currentHour = this.innerHTML.replace(/[^\d]/g,'');
	document.getElementById('hourDropDown').style.display='none';
	if(activeSelectBoxHour){
		activeSelectBoxHour.style.color='';
	}
	activeSelectBoxHour=this;
	this.style.color = selectBoxHighlightColor;
}

function selectMinute()
{
	document.getElementById('calendar_minute_txt').innerHTML = this.innerHTML
	currentMinute = this.innerHTML.replace(/[^\d]/g,'');
	document.getElementById('minuteDropDown').style.display='none';
	if(activeSelectBoxMinute){
		activeSelectBoxMinute.style.color='';
	}
	activeSelectBoxMinute=this;
	this.style.color = selectBoxHighlightColor;
}


function selectYear()
{
	document.getElementById('calendar_year_txt').innerHTML = this.innerHTML
	currentYear = this.innerHTML.replace(/[^\d]/g,'');
	document.getElementById('yearDropDown').style.display='none';
	if(activeSelectBoxYear){
		activeSelectBoxYear.style.color='';
	}
	activeSelectBoxYear=this;
	this.style.color = selectBoxHighlightColor;
	writeCalendarContent();
	if(currentYear < annee_courant)
		{
			document.getElementById('image_left').style.visibility='hidden';
		}
	else
		{
			if(currentYear == annee_courant)
			{
				if(currentMonth <=mois_courant)
					{
						document.getElementById('image_left').style.visibility='hidden';
					}
				else
					{
						document.getElementById('image_left').style.visibility='visible';
					}
			}
			else
				{
					document.getElementById('image_left').style.visibility='visible';
				}
		}
	if(currentYear < annee_max-1)
		{
			document.getElementById('image_right').style.visibility='visible';
		}
	else
		{
			if(currentYear == annee_max-1)
			{
				
				if(currentMonth >= mois_max)
					document.getElementById('image_right').style.visibility='hidden';
				else
					document.getElementById('image_right').style.visibility='visible';
			}
			else
			{
				document.getElementById('image_right').style.visibility='hidden';
			}			
			
		}
}

function switchMonth()
{
	//this.style.visibility ='visible';
	
	//alert();
	if(this.id.indexOf('left')>=0)
		{
			
			currentMonth=currentMonth-1;
			//alert(currentMonth)
			//alert(currentYear)
			if(currentMonth<0)
				{
					currentMonth=11;
					currentYear=currentYear-1;
				}
			if(currentYear < annee_courant)
				{
					document.getElementById('image_left').style.visibility='hidden';
				}
			else
				{
					if(currentYear == annee_courant)
					{
						if(currentMonth <=mois_courant)
						{
							document.getElementById('image_left').style.visibility='hidden';
						}
					}
				}
			if(currentYear < annee_max-1)
				{
					document.getElementById('image_right').style.visibility='visible';
				}
			else
				{
					if(currentYear == annee_max-1)
					{
						
						if(currentMonth >= mois_max)
							document.getElementById('image_right').style.visibility='hidden';
						else
							document.getElementById('image_right').style.visibility='visible';
					}
					else
					{
						document.getElementById('image_right').style.visibility='hidden';
					}			
				}
			
		}
	else
	{
		currentMonth=currentMonth+1;;
		if(currentMonth>11)
			{
				currentMonth=0;
				currentYear=currentYear/1+1;		
			}	
		if(currentYear > annee_courant)
			{
				document.getElementById('image_left').style.visibility='visible';
			}
		else
			{
				if(currentMonth >=mois_courant)
				{
					document.getElementById('image_left').style.visibility='visible';
				}
			}
		if(currentYear > annee_max-1)
			{
				document.getElementById('image_right').style.visibility='hidden';
			}
		else
			{
				if(currentYear == annee_max-1)
				{
					
					if(currentMonth >= mois_max)
						document.getElementById('image_right').style.visibility='hidden';
					else
						document.getElementById('image_right').style.visibility='visible';
				}
				else
				{
					document.getElementById('image_right').style.visibility='visible';
				}			
			}
		
	}	
	writeCalendarContent();	
}

function createMonthDiv(){
	var div = document.createElement('DIV');
	div.className='monthYearPicker';
	div.id = 'monthPicker';
	
	for(var no=0;no<monthArray.length;no++){
		var subDiv = document.createElement('DIV');
		subDiv.innerHTML = monthArray[no];
		subDiv.onmouseover = highlightMonthYear;
		subDiv.onmouseout = highlightMonthYear;
		subDiv.onclick = selectMonth;
		subDiv.id = 'monthDiv_' + no;
		subDiv.style.width = '90px';
		subDiv.onselectstart = cancelCalendarEvent;		
		div.appendChild(subDiv);
		if(currentMonth && currentMonth==no){
			subDiv.style.color = selectBoxHighlightColor;
			activeSelectBoxMonth = subDiv;
		}				
		
	}	
	return div;
	
}

function changeSelectBoxYear(e,inputObj)
{
	//alert(div)
	if(!inputObj)inputObj =this;
	var yearItems = inputObj.parentNode.getElementsByTagName('DIV');
	if(inputObj.innerHTML.indexOf('-')>=0){
		var startYear = yearItems[1].innerHTML/1 -1;
		
		if(activeSelectBoxYear){
			activeSelectBoxYear.style.color='';
		}
	}else{
		var startYear = yearItems[1].innerHTML/1 +1;
		if(activeSelectBoxYear){
			activeSelectBoxYear.style.color='';

		}			
	}
	//alert(startYear+annee_plus && startYear+annee_plus <=annee_max);
	
	if(startYear >=annee_courant && startYear+10 <=annee_max)
	{
		//alert(startYear);
		for(var no=1;no<yearItems.length-1;no++){
			yearItems[no].innerHTML = startYear+no-1;	
			
			yearItems[no].id = 'yearDiv' + (startYear/1+no/1-1);	
		}
		if(activeSelectBoxYear){
			activeSelectBoxYear.style.color='';
			if(document.getElementById('yearDiv'+currentYear)){
				activeSelectBoxYear = document.getElementById('yearDiv'+currentYear);
				activeSelectBoxYear.style.color=selectBoxHighlightColor;;
			}
		}
	}else activeSelectBoxYear.style.color=selectBoxHighlightColor;
}
function changeSelectBoxHour(e,inputObj)
{
	if(!inputObj)inputObj = this;
	
	var hourItems = inputObj.parentNode.getElementsByTagName('DIV');
	if(inputObj.innerHTML.indexOf('-')>=0){
		var startHour = hourItems[1].innerHTML.substring(0,2)/1 -1 ;
		if(startHour<0)startHour=0;
		if(activeSelectBoxHour){
			activeSelectBoxHour.style.color='';
		}
	}else{
		var startHour = hourItems[1].innerHTML.substring(0,2)/1 +1;
		if(startHour>14)startHour = 14;
		if(activeSelectBoxHour){
			activeSelectBoxHour.style.color='';

		}			
	}
	var prefix = '';
	if(calendarDisplayTimeMinute)
		var suffix = '';
	else
		var suffix = ':00';
	for(var no=1;no<hourItems.length-1;no++){
		if((startHour/1 + no/1) < 11)prefix = '0'; else prefix = '';
		hourItems[no].innerHTML = prefix + (startHour+no-1) + suffix;	
		
		hourItems[no].id = 'hourDiv' + (startHour/1+no/1-1);	
		
	}		
	if(activeSelectBoxHour){
		activeSelectBoxHour.style.color='';
		if(document.getElementById('hourDiv'+currentHour)){
			activeSelectBoxHour = document.getElementById('hourDiv'+currentHour);
			activeSelectBoxHour.style.color=selectBoxHighlightColor;;
		}
	}
}

function updateYearDiv()
{
	var div = document.getElementById('yearDropDown');
	var yearItems = div.getElementsByTagName('DIV');
	
	var loop_plus=annee_plus;
	if(annee_plus>10)
		var loop_plus=yearItems.length-1
	//alert(annee_max);
	//if (currentYear<=annee_max)
	if (annee_plus>=10)
	{
		for(var no=1;no<loop_plus;no++){
			if (currentYear/1 -1 + no >= annee_courant)
			{
				yearItems[no].innerHTML = currentYear/1 -1 + no;	
				if(currentYear==(currentYear/1 -1 + no)){
					yearItems[no].style.color = selectBoxHighlightColor;
					activeSelectBoxYear = yearItems[no];				
				}else{
					yearItems[no].style.color = '';
				}
			}else yearItems[no].innerHTML = '';
			
		}		
	}else
	{
		
		for(var no=1;no<=loop_plus;no++){
			yearItems[no].innerHTML = annee_courant -1 + no;	
			if(annee_courant==(currentYear -1 + no)){
				yearItems[no].style.color = selectBoxHighlightColor;
				activeSelectBoxYear = yearItems[no];				
			}else{
				yearItems[no].style.color = '';
			}	
		}		
	}
}

function updateMonthDiv()
{
	try
	{
		for(no=0;no<12;no++){
			document.getElementById('monthDiv_' + no).style.color = '';
		}		
		document.getElementById('monthDiv_' + currentMonth).style.color = selectBoxHighlightColor;
		activeSelectBoxMonth = 	document.getElementById('monthDiv_' + currentMonth);
	}
	catch(error)
	{erreur=0;}
}


function updateHourDiv()
{
	var div = document.getElementById('hourDropDown');
	var hourItems = div.getElementsByTagName('DIV');
	
	var addHours = 0;
	if((currentHour/1 -6 + 1)<0){
		addHours = 	(currentHour/1 -6 + 1)*-1;
	}
	for(var no=1;no<hourItems.length-1;no++){
		var prefix='';
		if(calendarDisplayTimeMinute)
			var suffix='';
		else
			var suffix=':00';
			
		if((currentHour/1 -6 + no + addHours) < 10)prefix='0';
		hourItems[no].innerHTML = prefix +  (currentHour/1 -6 + no + addHours)+	suffix;
		if(currentHour==(currentHour/1 -6 + no)){
			hourItems[no].style.color = selectBoxHighlightColor;
			activeSelectBoxHour = hourItems[no];				
		}else{
			hourItems[no].style.color = '';
		}
	}
}

function updateMinuteDiv()
{
	for(no=0;no<60;no+=intervalSelectBox_minutes){
		var prefix = '';
		if(no<10)prefix = '0';
	
		document.getElementById('minuteDiv_' + prefix + no).style.color = '';
	}	
	if(document.getElementById('minuteDiv_' + currentMinute)){	
		document.getElementById('minuteDiv_' + currentMinute).style.color = selectBoxHighlightColor;
		activeSelectBoxMinute = document.getElementById('minuteDiv_' + currentMinute);
	}
}



function createYearDiv()
{
	if(!document.getElementById('yearDropDown')){
		var div = document.createElement('DIV');
		div.className='monthYearPicker';
	}else{
		var div = document.getElementById('yearDropDown');
		var subDivs = div.getElementsByTagName('DIV');
		
		for(var no=0;no<subDivs.length;no++){
			subDivs[no].parentNode.removeChild(subDivs[no]);	
		}	
	}	
	
	
	var d = new Date();
	if(currentYear){
		d.setFullYear(currentYear);	
	}

	var startYear = d.getFullYear()/1 - 5;

	
	var subDiv = document.createElement('DIV');
	subDiv.innerHTML = '&nbsp;&nbsp;- ';
	subDiv.onclick = changeSelectBoxYear;
	subDiv.onmouseover = highlightMonthYear;
	subDiv.onmouseout = function(){ selectBoxMovementInProgress = false;};	
	subDiv.onselectstart = cancelCalendarEvent;		
	if(annee_plus<=10)
		subDiv.style.display = 'none';
	div.appendChild(subDiv);
	
	var loop_plus=10;
	if(annee_plus<=10)
		loop_plus=annee_plus;
		
	for(var no=startYear;no<(startYear+loop_plus);no++){
		var subDiv = document.createElement('DIV');
		subDiv.innerHTML = no;
		subDiv.onmouseover = highlightMonthYear;
		subDiv.onmouseout = highlightMonthYear;		
		subDiv.onclick = selectYear;		
		subDiv.id = 'yearDiv' + no;	
		subDiv.onselectstart = cancelCalendarEvent;	
		div.appendChild(subDiv);
		if(currentYear && currentYear==no){
			subDiv.style.color = selectBoxHighlightColor;
			activeSelectBoxYear = subDiv;
		}			
	}
	var subDiv = document.createElement('DIV');
	subDiv.innerHTML = '&nbsp;&nbsp;+ ';
	subDiv.onclick = changeSelectBoxYear;
	subDiv.onmouseover = highlightMonthYear;
	subDiv.onmouseout = function(){ selectBoxMovementInProgress = false;};		
	subDiv.onselectstart = cancelCalendarEvent;			
	if(annee_plus<=10)
		subDiv.style.display = 'none';
	div.appendChild(subDiv);		
	return div;
}

/* This function creates the hour div at the bottom bar */

function slideCalendarSelectBox()
{
	if(selectBoxMovementInProgress){
		if(activeSelectBox.parentNode.id=='hourDropDown'){
			changeSelectBoxHour(false,activeSelectBox);			
		}
		if(activeSelectBox.parentNode.id=='yearDropDown'){
			changeSelectBoxYear(false,activeSelectBox);			
		}
		
	}
	setTimeout('slideCalendarSelectBox()',speedOfSelectBoxSliding);
		
}

function createHourDiv()
{
	if(!document.getElementById('hourDropDown')){
		var div = document.createElement('DIV');
		div.className='monthYearPicker';
	}else{
		var div = document.getElementById('hourDropDown');
		var subDivs = div.getElementsByTagName('DIV');
		for(var no=0;no<subDivs.length;no++){
			subDivs[no].parentNode.removeChild(subDivs[no]);	
		}	
	}		
	
	if(!currentHour)currentHour=0;
	var startHour = currentHour/1;	
	if(startHour>14)startHour=14;

	var subDiv = document.createElement('DIV');
	subDiv.innerHTML = '&nbsp;&nbsp;- ';
	subDiv.onclick = changeSelectBoxHour;
	subDiv.onmouseover = highlightMonthYear;
	subDiv.onmouseout = function(){ selectBoxMovementInProgress = false;};	
	subDiv.onselectstart = cancelCalendarEvent;			
	div.appendChild(subDiv);
		
	for(var no=startHour;no<startHour+10;no++){
		var prefix = '';
		if(calendarDisplayTimeMinute)
			var suffix = '';
		else
			var suffix = ':00';
			
		if(no/1<10)prefix='0';
		var subDiv = document.createElement('DIV');
		subDiv.innerHTML = prefix + no + suffix ;
		subDiv.onmouseover = highlightMonthYear;
		subDiv.onmouseout = highlightMonthYear;		
		subDiv.onclick = selectHour;		
		subDiv.id = 'hourDiv' + no;	
		subDiv.onselectstart = cancelCalendarEvent;	
		div.appendChild(subDiv);
		if(currentYear && currentYear==no){
			subDiv.style.color = selectBoxHighlightColor;
			activeSelectBoxYear = subDiv;
		}			
	}
	var subDiv = document.createElement('DIV');
	subDiv.innerHTML = '&nbsp;&nbsp;+ ';
	subDiv.onclick = changeSelectBoxHour;
	subDiv.onmouseover = highlightMonthYear;
	subDiv.onmouseout = function(){ selectBoxMovementInProgress = false;};		
	subDiv.onselectstart = cancelCalendarEvent;			
	div.appendChild(subDiv);	
		
	return div;	
}
/* This function creates the minute div at the bottom bar */

function createMinuteDiv()
{
	if(!document.getElementById('minuteDropDown')){
		var div = document.createElement('DIV');
		div.className='monthYearPicker';
	}else{
		var div = document.getElementById('minuteDropDown');
		var subDivs = div.getElementsByTagName('DIV');
		for(var no=0;no<subDivs.length;no++){
			subDivs[no].parentNode.removeChild(subDivs[no]);	
		}	
	}		
	var startMinute = 0;	
	var prefix = '';
	for(var no=startMinute;no<60;no+=intervalSelectBox_minutes){
		
		if(no<10)prefix='0'; else prefix = '';
		var subDiv = document.createElement('DIV');
		subDiv.innerHTML = prefix + no;
		subDiv.onmouseover = highlightMonthYear;
		subDiv.onmouseout = highlightMonthYear;		
		subDiv.onclick = selectMinute;		
		subDiv.id = 'minuteDiv_' + prefix +  no;	
		subDiv.onselectstart = cancelCalendarEvent;	
		div.appendChild(subDiv);
		if(currentYear && currentYear==no){
			subDiv.style.color = selectBoxHighlightColor;
			activeSelectBoxYear = subDiv;
		}			
	}
	return div;	
}

function highlightSelect()
{
	
	if(this.className=='selectBoxTime'){
		this.className = 'selectBoxTimeOver';	
		//this.getElementsByTagName('IMG')[0].src = pathToImages + 'down_time_over.gif';
	}else if(this.className=='selectBoxTimeOver'){
		this.className = 'selectBoxTime';	
		//this.getElementsByTagName('IMG')[0].src = pathToImages + 'down_time.gif';			
	}
	
	if(this.className=='selectBox'){
		this.className = 'selectBoxOver';	
		//this.getElementsByTagName('IMG')[0].src = pathToImages + 'down_over.gif';
	}else if(this.className=='selectBoxOver'){
		this.className = 'selectBox';	
		//this.getElementsByTagName('IMG')[0].src = pathToImages + 'down.gif';			
	}
	
}

function highlightArrow()
{
	if(this.src.indexOf('over')>=0){
		//if(this.src.indexOf('left')>=0)this.src = pathToImages + 'left.gif';	
		//if(this.src.indexOf('right')>=0)this.src = pathToImages + 'right.gif';				
	}else{
		//if(this.src.indexOf('left')>=0)this.src = pathToImages + 'left_over.gif';	
		//if(this.src.indexOf('right')>=0)this.src = pathToImages + 'right_over.gif';	
	}
}

function highlightClose()
{
	if(this.src.indexOf('over')>=0){
		this.src = pathToImages + 'close.gif';
	}else{
		this.src = pathToImages + 'close_over.gif';	
	}	

}

function closeCalendar(){

	document.getElementById('yearDropDown').style.display='none';
	document.getElementById('monthDropDown').style.display='none';
	document.getElementById('hourDropDown').style.display='none';
	document.getElementById('minuteDropDown').style.display='none';
		
	calendarDiv.style.display='none';
	if(iframeObj)iframeObj.style.display='none';
	if(activeSelectBoxMonth)activeSelectBoxMonth.className='';
	if(activeSelectBoxYear)activeSelectBoxYear.className='';
	

}

function writeTopBar()
{

	var topBar = document.createElement('DIV');
	topBar.className = 'topBar';
	topBar.id = 'topBar';
	calendarDiv.appendChild(topBar);
	
	
	//---------- Left arrow
	var leftDiv = document.createElement('DIV');
	leftDiv.style.marginRight = '1px';
	
	/*var img = document.createElement('IMG');
	img.src = pathToImages + 'left.gif';*/
	var img = document.createElement('SPAN');
	img.innerHTML='&nbsp;&lt;&lt;&nbsp;';
	img.className = 'selectBox';
		
	img.id = 'image_left';
	//img.onmouseover = highlightArrow;
	//img.onmouseout = highlightArrow;
	img.onclick = switchMonth;
	leftDiv.appendChild(img);	
	topBar.appendChild(leftDiv);
	if(Opera)leftDiv.style.width = '16px';
	
	if(currentYear < annee_courant)
		{
			document.getElementById('image_left').style.visibility='hidden';
		}
	else
		{
			if(currentYear == annee_courant)
			{
				if(currentMonth <=mois_courant)
					{
						document.getElementById('image_left').style.visibility='hidden';
					}
				else
					{
						document.getElementById('image_left').style.visibility='visible';
					}
			}
			else
				{
					document.getElementById('image_left').style.visibility='visible';
				}
		}
	

			
	// Month selector
	var monthDiv = document.createElement('DIV');
	monthDiv.id = 'monthSelect';
	monthDiv.onmouseover = highlightSelect;
	monthDiv.onmouseout = highlightSelect;
	monthDiv.onclick = showMonthDropDown;
	//monthDiv.style.left = '29px';
	monthDiv.style.width ='90px';
	var span = document.createElement('SPAN');		
	span.innerHTML = monthArray[currentMonth];
	span.id = 'calendar_month_txt';	
	span.style.width ='80px';
	monthDiv.appendChild(span);

	/*var img = document.createElement('IMG');
	img.src = pathToImages + 'down.gif';*/
	var img = document.createElement('SPAN');
	img.innerHTML='&nbsp;&nabla;';
	img.style.position = 'absolute';
	img.style.right = '0px';
	
	monthDiv.appendChild(img);
	monthDiv.className = 'selectBox';
	if(Opera){
		img.style.cssText = 'float:right;position:relative';
		img.style.position = 'relative';
		img.style.styleFloat = 'right';
	}
	topBar.appendChild(monthDiv);

	var monthPicker = createMonthDiv();
	monthPicker.style.left = '27px';
	monthPicker.style.top = monthDiv.offsetTop + monthDiv.offsetHeight + 1 + 'px';
	monthPicker.style.width ='93px';
	monthPicker.id = 'monthDropDown';	
	calendarDiv.appendChild(monthPicker);
			
	// Year selector
	var yearDiv = document.createElement('DIV');
	yearDiv.onmouseover = highlightSelect;
	yearDiv.onmouseout = highlightSelect;
	yearDiv.onclick = showYearDropDown;
	yearDiv.style.width ='51px';
	var span = document.createElement('SPAN');		
	span.innerHTML = currentYear;
	span.id = 'calendar_year_txt';
	span.style.width ='35px';
	yearDiv.appendChild(span);
	topBar.appendChild(yearDiv);
	
	
	var img = document.createElement('SPAN');
	img.innerHTML='&nbsp;&nabla;';
	/*var img = document.createElement('IMG');
	img.src = pathToImages + 'down.gif';*/
	
	yearDiv.appendChild(img);
	yearDiv.className = 'selectBox';
	
	if(Opera){
		yearDiv.style.width = '50px';
		img.style.cssText = 'float:right';
		img.style.position = 'relative';
		img.style.styleFloat = 'right';
	}	
	
	var yearPicker = createYearDiv();
	yearPicker.style.left = '123px';
	yearPicker.style.top = monthDiv.offsetTop + monthDiv.offsetHeight + 1 + 'px';
	yearPicker.style.width = '53px';
	yearPicker.id = 'yearDropDown';
	calendarDiv.appendChild(yearPicker);
	
		
		
		
	
	//---------- right
	var rightDiv = document.createElement('DIV');
	rightDiv.style.marginRight = '1px';
	
	//var img = document.createElement('IMG');
	//img.src = pathToImages + 'right.gif';
	var img = document.createElement('SPAN');
	img.innerHTML='&nbsp;&gt;&gt;&nbsp;';
	img.className = 'selectBox';
	
	img.id = 'image_right';
	img.onclick = switchMonth;
	//img.onmouseover = highlightArrow;
	//img.onmouseout = highlightArrow;
	rightDiv.appendChild(img);
	if(Opera)rightDiv.style.width = '16px';
	topBar.appendChild(rightDiv);		
	
	var img = document.createElement('SPAN');
	img.innerHTML='&times;&nbsp;'
	img.style.font.weight='bold';
	img.style.color='#FFFFFF';
	img.style.cursor='pointer';
	img.onclick = closeCalendar;
	img.style.display='none';
	
	topBar.appendChild(img);
	if(!document.all){
		img.style.position = 'absolute';
		img.style.right = '2px';
	}
	
	

}

function writeCalendarContent()
{
	var calendarContentDivExists = true;
	if(!calendarContentDiv){
		calendarContentDiv = document.createElement('DIV');
		calendarDiv.appendChild(calendarContentDiv);
		calendarContentDivExists = false;
	}
	currentMonth = currentMonth/1;
	var d = new Date();	
	
	d.setFullYear(currentYear);		
	d.setDate(1);		
	d.setMonth(currentMonth);
	
	var dayStartOfMonth = d.getDay();
	if(dayStartOfMonth==0)dayStartOfMonth=7;
	dayStartOfMonth--;
	
	document.getElementById('calendar_year_txt').innerHTML = currentYear;
	document.getElementById('calendar_month_txt').innerHTML = monthArray[currentMonth];
	if(calendarDisplayTimeMinute)
	{
		document.getElementById('calendar_hour_txt').innerHTML = currentHour;
		document.getElementById('calendar_minute_txt').innerHTML = currentMinute;
	}
	else
		document.getElementById('calendar_hour_txt').innerHTML = currentHour+':00';
	
	var existingTable = calendarContentDiv.getElementsByTagName('TABLE');
	if(existingTable.length>0){
		calendarContentDiv.removeChild(existingTable[0]);
	}
	
	var calTable = document.createElement('TABLE');
	calTable.cellSpacing = '0';
	calendarContentDiv.appendChild(calTable);
	var calTBody = document.createElement('TBODY');
	calTable.appendChild(calTBody);
	var row = calTBody.insertRow(-1);
	var cell = row.insertCell(-1);
	cell.innerHTML = weekString;
	cell.className='normalDay';	
	cell.style.backgroundColor = selectBoxRolloverBgColor;
	
	for(var no=0;no<dayArrayShort.length;no++){
		var cell = row.insertCell(-1);
		cell.innerHTML = dayArrayShort[no]; 
		cell.className='normalDay';	
	}
	
	var row = calTBody.insertRow(-1);
	var cell = row.insertCell(-1);
	cell.style.backgroundColor = selectBoxRolloverBgColor;
	var week = getWeek(currentYear,currentMonth,1);
	cell.innerHTML = week;		// Week
	cell.className='normalDay';	
	
	if(currentMonth==0)
		var nb_jour_prec=31;
	else if (currentMonth != 2)
		var nb_jour_prec=daysInMonthArray[currentMonth-1]
	else if(isLeapYear(currentYear))
		nb_jour_prec=29;
	else nb_jour_prec=28;
		
	jour_debut_prec=nb_jour_prec-dayStartOfMonth+1;
	//alert(jour_debut_prec)
	//alert(nb_jour_prec)
	if(ArrayDates.length == 0)
	{
		//-----------------------------------------------jour m-1
		for(var no=jour_debut_prec;no<=nb_jour_prec;no++){
			var cell = row.insertCell(-1);
			//cell.innerHTML = no;
			//alert( currentYear + ' < ' + annee_courant  )
			if(currentYear < annee_courant)
				{
					var new_no='<del>' + no + '</del>';
					cell.innerHTML = new_no;
				}
			else
				{
					if(currentYear > annee_courant)
						{
							if(currentYear>annee_max-1)
							{
								var new_no='<del>' + no + '</del>';
								cell.innerHTML = new_no;	
							}
							else
							{
								if(currentYear==annee_max-1)
								{
									if(currentMonth-1 > mois_max)
										cell.innerHTML ='<del>' + no + '</del>';
									else if(currentMonth-1 < mois_max)
										{
											cell.innerHTML = no;
											cell.onclick = pickDate_prec;
										}
									else
									{
										if(no > jour_max)
											cell.innerHTML ='<del>' + no + '</del>';
										else
										{
											cell.innerHTML = no;
											cell.onclick = pickDate_prec;
										}
									}
								}
								else
								{
									cell.innerHTML = no;
									cell.onclick = pickDate_prec;
								}
							}
						}
					else
						{
							//alert(currentYear +'>'+ annee_courant)
							if(currentMonth-1 < mois_courant)
								{
									var new_no='<del>' + no + '</del>';
									cell.innerHTML = new_no;
								}
							else
								{
									if(currentMonth-1 > mois_courant)
										{
											
											if(currentYear>annee_max-1)
											{
												var new_no='<del>' + no + '</del>';
												cell.innerHTML = new_no;	
											}
											else
											{
												if(currentYear==annee_max-1)
												{
													if(currentMonth-1 > mois_max)
														cell.innerHTML ='<del>' + no + '</del>';
													else if(currentMonth-1 < mois_max)
														{
															cell.innerHTML = no;
															cell.onclick = pickDate_prec;
														}
													else
													{
														if(no > jour_max)
															cell.innerHTML ='<del>' + no + '</del>';
														else
														{
															cell.innerHTML = no;
															cell.onclick = pickDate_prec;
														}
													}
												}
												else
												{
													cell.innerHTML = no;
													cell.onclick = pickDate_prec;
												}
											}
										}
									else
										{
											if(no < jour_courant)
												{
													var new_no='<del>' + no + '</del>';
													cell.innerHTML = new_no;
												}
											else
												{
													
													if(currentYear>annee_max-1)
													{
														var new_no='<del>' + no + '</del>';
														cell.innerHTML = new_no;	
													}
													else
													{
														if(currentYear==annee_max-1)
														{
															if(currentMonth-1 > mois_max)
																cell.innerHTML ='<del>' + no + '</del>';
															else if(currentMonth-1 < mois_max)
																{
																	cell.innerHTML = no;
																	cell.onclick = pickDate_prec;
																}
															else
															{
																if(no > jour_max)
																	cell.innerHTML ='<del>' + no + '</del>';

																else
																{
																	cell.innerHTML = no;
																	cell.onclick = pickDate_prec;
																}
															}
														}
														else
														{
															cell.innerHTML = no;
															cell.onclick = pickDate_prec;
														}
													}
												}
										}
								}
						}
				}
				cell.className='deactiveDay';	
		}
		//-----------------------------------------------jour m
		var colCounter = dayStartOfMonth;
		var daysInMonth = daysInMonthArray[currentMonth];
		if(daysInMonth==28){
			if(isLeapYear(currentYear))daysInMonth=29;
		}
		//alert(currentYear + ' ' + annee_courant);
		for(var no=1;no<=daysInMonth;no++){
			d.setDate(no-1);
			if(colCounter>0 && colCounter%7==0){
				var row = calTBody.insertRow(-1);
				var cell = row.insertCell(-1);
				var week = getWeek(currentYear,currentMonth,no);
				
					cell.innerHTML = week;		// Week	
					cell.style.backgroundColor = selectBoxRolloverBgColor;			
					cell.className='normalDay';	
			}
			var cell = row.insertCell(-1);
			cell.className='normalDay';	
			if(currentYear==inputYear && currentMonth == inputMonth && no==inputDay){
				cell.className='activeDay';	
			}
			var today=new Date();
			if(Number(currentYear)==Number(today.getFullYear()) && Number(currentMonth) == Number(today.getMonth()) && Number(no)==Number(today.getDate())){
				cell.className='activeToDay';	
			}
			
			if(currentYear < annee_courant)
				{
					var new_no='<del>' + no + '</del>';
					cell.innerHTML = new_no;
				}
			else
				{
					if(currentYear > annee_courant)
						{
							
							if(currentYear>annee_max-1)
							{
								var new_no='<del>' + no + '</del>';
								cell.innerHTML = new_no;	
							}
							else
							{
								
								if(currentYear==annee_max-1)
								{
									
									if(currentMonth > mois_max)
										cell.innerHTML ='<del>' + no + '</del>';
									else if(currentMonth < mois_max)
										{
											cell.innerHTML = no;
											cell.onclick = pickDate;
										}
									else
									{
										if(no > jour_max)
											cell.innerHTML ='<del>' + no + '</del>';
										else
										{
											cell.innerHTML = no;
											cell.onclick = pickDate;
										}
									}
								}
								else
								{
									cell.innerHTML = no;
									cell.onclick = pickDate;
								}
							}
						}
					else
						{
							if(currentMonth < mois_courant)
								{
									var new_no='<del>' + no + '</del>';
									cell.innerHTML = new_no;
								}
							else
								{
									if(currentMonth > mois_courant)
										{
											if(currentYear>annee_max-1)
											{
												var new_no='<del>' + no + '</del>';
												cell.innerHTML = new_no;	
											}
											else
											{
												
												if(currentYear==annee_max-1)
												{
													
													if(currentMonth > mois_max)
														cell.innerHTML ='<del>' + no + '</del>';
													else if(currentMonth < mois_max)
														{
															cell.innerHTML = no;
															cell.onclick = pickDate;
														}
													else
													{
														if(no > jour_max)
															cell.innerHTML ='<del>' + no + '</del>';
														else
														{
															cell.innerHTML = no;
															cell.onclick = pickDate;
														}
													}
												}
												else
												{
													cell.innerHTML = no;
													cell.onclick = pickDate;
												}
											}
										}
									else
										{
											if(no < jour_courant)
												{
													var new_no='<del>' + no + '</del>';
													cell.innerHTML = new_no;
												}
											else
												{
													if(currentYear>annee_max-1)
														{
															var new_no='<del>' + no + '</del>';
															cell.innerHTML = new_no;	
														}
														else
														{
															
															if(currentYear==annee_max-1)
															{
																
																if(currentMonth > mois_max)
																	cell.innerHTML ='<del>' + no + '</del>';
																else if(currentMonth < mois_max)
																	{
																		cell.innerHTML = no;
																		cell.onclick = pickDate;
																	}
																else
																{
																	if(no > jour_max)
																		cell.innerHTML ='<del>' + no + '</del>';
																	else
																	{
																		cell.innerHTML = no;
																		cell.onclick = pickDate;
																	}
																}
															}
															else
															{
																cell.innerHTML = no;
																cell.onclick = pickDate;
															}
														}
												}
										}
								}
						}
				}
			colCounter++;
		}
		//---------------------------------------------- jour m+1
		d.setFullYear(currentYear);		
		d.setDate(daysInMonth-1);		
		d.setMonth(currentMonth);
		//alert(d)
		var dayStartOfMonth = d.getDay();
		if(dayStartOfMonth==0)dayStartOfMonth=7;
		dayStartto=6-dayStartOfMonth;
		//alert(dayStartto);
		if(dayStartto==-1)dayStartto=6;
		//dayStartOfMonth--;
		//alert(dayStartOfMonth)
		for(var no=1;no<=dayStartto;no++){
			d.setDate(no-1);
			if(colCounter>0 && colCounter%7==0){
				var row = calTBody.insertRow(-1);
				var cell = row.insertCell(-1);
				var week = getWeek(currentYear,currentMonth,no);
				
					cell.innerHTML = week;		// Week	
					cell.style.backgroundColor = selectBoxRolloverBgColor;			
				
			}
			var cell = row.insertCell(-1);
			var new_no=no;
			if(currentYear < annee_courant)
				{
					var new_no='<del>' + no + '</del>';
					cell.innerHTML = new_no;
				}
			else
				{
					if(currentYear > annee_courant)
						{
							
							if(currentYear>annee_max-1)
							{
								var new_no='<del>' + no + '</del>';
								cell.innerHTML = new_no;	
							}
							else
							{
								if(currentYear==annee_max-1)
								{
									if(currentMonth+1 > mois_max)
										cell.innerHTML ='<del>' + no + '</del>';
									else if(currentMonth+1 < mois_max)
										{
											cell.innerHTML = no;
											cell.onclick = pickDate_suiv;
										}
									else
									{
										if(no > jour_max)
											cell.innerHTML ='<del>' + no + '</del>';
										else
										{
											cell.innerHTML = no;
											cell.onclick = pickDate_suiv;
										}
									}
								}
								else
								{
									cell.innerHTML = no;
									cell.onclick = pickDate_suiv;
								}
							}
						}
					else
						{
							if(currentMonth+1 < mois_courant)
								{
									var new_no='<del>' + no + '</del>';
									cell.innerHTML = new_no;
								}
							else
								{
									if(currentMonth+1 > mois_courant)
										{
											if(currentYear>annee_max-1)
											{
												var new_no='<del>' + no + '</del>';
												cell.innerHTML = new_no;	
											}
											else
											{
												if(currentYear==annee_max-1)
												{
													if(currentMonth+1 > mois_max)
														cell.innerHTML ='<del>' + no + '</del>';
													else if(currentMonth+1 < mois_max)
														{
															cell.innerHTML = no;
															cell.onclick = pickDate_suiv;
														}
													else
													{
														if(no > jour_max)
															cell.innerHTML ='<del>' + no + '</del>';
														else
														{
															cell.innerHTML = no;
															cell.onclick = pickDate_suiv;
														}
													}
												}
												else
												{
													cell.innerHTML = no;
													cell.onclick = pickDate_suiv;
												}
											}
										}
									else
										{
											if(no < jour_courant)
												{
													var new_no='<del>' + no + '</del>';
													cell.innerHTML = new_no;
												}
											else
												{
													cell.innerHTML = no;
													cell.onclick = pickDate_suiv;
												}
										}
								}
						}
				}
			//cell.innerHTML = new_no;
			//cell.onclick = pickDate_suiv;
			cell.className='deactiveDay';	
		}
	}
	else
	{
		if(ArrayJO.length == 0)
		{
			// si liste de dates
			//----------------------------------j m-1
			for(var no=jour_debut_prec;no<=nb_jour_prec;no++){
				var cell = row.insertCell(-1);
				cell.className='deactiveDay';
				no2=no;
				for(j=0;j<ArrayDates.length;j++)
				{
					
					if(no2.toString().length==1)
						datetest='0'+no
					else
						datetest=no
						
					if(currentMonth.toString().length==1)
						datetest+='/0'+(currentMonth/1)
					else
						datetest+='/'+(currentMonth/1)
					
					datetest+='/'+currentYear
					//alert(ArrayDates[j] +'=='+ datetest)
					if(	ArrayDates[j] == datetest)
					{
						cell.innerHTML =no;
						cell.onclick = pickDate_prec;
						cell.className='activeDay';
						break;
					}else
					{ 
						cell.innerHTML ='<del>' + no + '</del>';
					}
				}
			}
			//----------------------------------j m
			var colCounter = dayStartOfMonth;
			var daysInMonth = daysInMonthArray[currentMonth];
			if(daysInMonth==28){
				if(isLeapYear(currentYear))daysInMonth=29;
			}
			for(var no=1;no<=daysInMonth;no++){
				d.setDate(no-1);
				if(colCounter>0 && colCounter%7==0){
					var row = calTBody.insertRow(-1);
					var cell = row.insertCell(-1);
					var week = getWeek(currentYear,currentMonth,no);
					
						cell.innerHTML = week;		// Week	
						cell.style.backgroundColor = selectBoxRolloverBgColor;			
					
				}
				var cell = row.insertCell(-1);
				no2=no;
				if(no2.toString().length==1)
					datetest='0'+no2
				else
					datetest=no2
					
				if(currentMonth.toString().length==1)
					datetest+='/0'+(currentMonth/1+1)
				else
					datetest+='/'+(currentMonth/1+1)
				
				datetest+='/'+currentYear
				for(j=0;j<ArrayDates.length;j++)
				{
					if(	ArrayDates[j] == datetest)
					{
						cell.innerHTML =no;
						cell.onclick = pickDate;
						cell.className='activeDay2';
						break;
					}
					else
					{ 
						cell.innerHTML ='<del>' + no + '</del>';
					}
				}
				colCounter++;
			}
			//----------------------------------j m+1
			d.setFullYear(currentYear);		
			d.setDate(daysInMonth-1);		
			d.setMonth(currentMonth);
			var dayStartOfMonth = d.getDay();
			if(dayStartOfMonth==0)dayStartOfMonth=7;
			dayStartto=6-dayStartOfMonth;
			if(dayStartto==-1)dayStartto=6;
			for(var no=1;no<=dayStartto;no++)
			{
				d.setDate(no-1);
				if(colCounter>0 && colCounter%7==0)
				{
					var row = calTBody.insertRow(-1);
					var cell = row.insertCell(-1);
					var week = getWeek(currentYear,currentMonth,no);
					
						cell.innerHTML = week;		// Week	
						cell.style.backgroundColor = selectBoxRolloverBgColor;			
					
				}
				var cell = row.insertCell(-1);
				cell.className='deactiveDay';	
				var no2=no;	
				for(j=0;j<ArrayDates.length;j++)
				{
					
					if(no2.toString().length==1)
						datetest='0'+no
					else
						datetest=no
						
					if(currentMonth.toString().length==1)
						datetest+='/0'+(currentMonth/1+2)
					else
						datetest+='/'+(currentMonth/1+2)
					
					datetest+='/'+currentYear
					//alert(ArrayDates[j] +'=='+ datetest)
					if(	ArrayDates[j] == datetest)
					{
						//alert(datetest)
						cell.innerHTML =no;
						cell.onclick = pickDate_suiv;
						cell.className='activeDay';
						break;
					}else
					{ 
						cell.innerHTML ='<del>' + no + '</del>';
						//cell.className='deactiveDay';	
					}
				}
			}
		}
		else
		{
			//----------------------------------j m-1
			for(var no=jour_debut_prec;no<=nb_jour_prec;no++){
				var cell = row.insertCell(-1);
				cell.className='deactiveDay';
				var datetest = new Date();
				datetest.setFullYear(currentYear);
				datetest.setMonth(currentMonth-1);
				datetest.setDate(no);
				
				if(ArrayJO[datetest.getDay()] == 1)
				{
					cell.innerHTML = no;
					cell.onclick = pickDate_prec;
				}
				else
				{
					cell.innerHTML = '<del>'+no+'</del>';
				}
			}
			//----------------------------------j m
			var colCounter = dayStartOfMonth;
			var daysInMonth = daysInMonthArray[currentMonth];
			if(daysInMonth==28){
				if(isLeapYear(currentYear))daysInMonth=29;
			}
			for(var no=1;no<=daysInMonth;no++){
				d.setDate(no-1);
				if(colCounter>0 && colCounter%7==0){
					var row = calTBody.insertRow(-1);
					var cell = row.insertCell(-1);
					var week = getWeek(currentYear,currentMonth,no);
					
						cell.innerHTML = week;		// Week	
						cell.style.backgroundColor = selectBoxRolloverBgColor;			
					
				}
				var cell = row.insertCell(-1);
				var datetest = new Date();
				datetest.setDate(no);
				datetest.setMonth(currentMonth);
				datetest.setFullYear(currentYear);	
				
				if(ArrayJO[datetest.getDay()] == 1)
				{
					cell.innerHTML = no;
					cell.onclick = pickDate;
				}
				else
				{
					cell.innerHTML = '<del>'+no+'</del>';
				}
				
				colCounter++;
			}	
			//----------------------------------j m+1
			d.setFullYear(currentYear);		
			d.setDate(daysInMonth-1);		
			d.setMonth(currentMonth);
			var dayStartOfMonth = d.getDay();
			if(dayStartOfMonth==0)dayStartOfMonth=7;
			dayStartto=6-dayStartOfMonth;
			if(dayStartto==-1)dayStartto=6;
			for(var no=1;no<=dayStartto;no++)
			{
				d.setDate(no-1);
				if(colCounter>0 && colCounter%7==0)
				{
					var row = calTBody.insertRow(-1);
					var cell = row.insertCell(-1);
					var week = getWeek(currentYear,currentMonth,no);
					
						cell.innerHTML = week;		// Week	
						cell.style.backgroundColor = selectBoxRolloverBgColor;			
					
				}
				var cell = row.insertCell(-1);
				cell.className='deactiveDay';	
				var datetest = new Date();
				datetest.setFullYear(currentYear);	
				datetest.setMonth(currentMonth+1);
				datetest.setDate(no);
				
				if(ArrayJO[datetest.getDay()] == 1)
				{
					cell.innerHTML = no;
					cell.onclick = pickDate_suiv;
				}
				else
				{
					cell.innerHTML = '<del>'+no+'</del>';
				}
			}
		}
	}
	if(!document.all){
		if(calendarContentDiv.offsetHeight)
			document.getElementById('topBar').style.top = calendarContentDiv.offsetHeight + document.getElementById('timeBar').offsetHeight + document.getElementById('topBar').offsetHeight -1 + 'px';
		else{
			document.getElementById('topBar').style.top = '';
			document.getElementById('topBar').style.bottom = '0px';
		}
			
	}
	
	if(iframeObj)
	{
		if(!calendarContentDivExists)
			setTimeout('resizeIframe()',350);
		else setTimeout('resizeIframe()',10);
	}
}

function resizeIframe()
{
	//alert('ddd');
	iframeObj.style.width = calendarDiv.offsetWidth + 'px';
	iframeObj.style.height = calendarDiv.offsetHeight + 'px' ;	
}

function pickTodaysDate()
{
	var d = new Date();
	currentMonth = d.getMonth();
	currentYear = d.getFullYear();
	pickDate(false,d.getDate());
	
}

function pickDate(e,inputDay)
{
	var month = currentMonth/1 +1;
	if(month<10)month = '0' + month;
	var day;
	if(!inputDay && this)day = this.innerHTML; else day = inputDay;
	
	if(day/1<10)day = '0' + day;
	if(returnFormat){
		returnFormat = returnFormat.replace('dd',day);
		returnFormat = returnFormat.replace('mm',month);
		returnFormat = returnFormat.replace('yyyy',currentYear);
		returnFormat = returnFormat.replace('hh',currentHour);
		returnFormat = returnFormat.replace('ii',currentMinute);
		returnDateTo.value = returnFormat;
	}else{
		if(returnDateToMonth.type != 'select-one')
		{
			returnDateToYear.value=currentYear
			returnDateToMonth.value=month
			returnDateToDay.value=day
		}
		else
		{
			returnDateToYear.value=Number(currentYear);
			returnDateToMonth.value=Number(month);
			returnDateToDay.value=Number(day);
		}
		var date_choix=new Date()
		date_choix.setFullYear(currentYear);
		date_choix.setMonth(month-1);
		date_choix.setDate(day);
		try{
			if(returnDateToYear.name.indexOf('depart')>=0)
				document.getElementById(nom_div_jour_depart).innerHTML=dayArray[date_choix.getDay()];
			else
				document.getElementById(nom_div_jour_retour).innerHTML=dayArray[date_choix.getDay()];
		}catch(error){}
		if(AjouterRetour==true)
			{
				// Calcule date retour
				var prochaine_date=new Date();
				prochaine_date.setDate(1)
				prochaine_date.setFullYear(currentYear);
				prochaine_date.setMonth(Number(month)-1+Number(mplus));
				prochaine_date.setDate(Number(day)+Number(jplus));
				
				prochain_jour=prochaine_date.getDate();
				prochain_mois=prochaine_date.getMonth()+1;
				prochaine_annee=prochaine_date.getFullYear();
				
				
				if(prochain_jour <= 9){prochain_jour = '0' + prochain_jour};
				if(prochain_mois <= 9){prochain_mois = '0' + prochain_mois};
				
				retour_jour=eval('document.' + returnDateToDay.form.name + '.retour_jour');
				retour_mois=eval('document.' + returnDateToDay.form.name + '.retour_mois');
				
				if(returnDateToMonth2.type != 'select-one')
				{
					returnDateToYear2.value=prochaine_annee
					returnDateToMonth2.value=prochain_mois
					returnDateToDay2.value=prochain_jour
				}
				else
				{
					returnDateToYear2.value=Number(prochaine_annee);
					returnDateToMonth2.value=Number(prochain_mois);
					returnDateToDay2.value=Number(prochain_jour);
				}
				try{document.getElementById(nom_div_jour_retour).innerHTML=dayArray[prochaine_date.getDay()];}catch(error){}
			}
		if(calendarDisplayTime)
		{
			for(var no=0;no<returnDateToHour.options.length;no++)
			{
				
				if(returnDateToHour.options[no].value==currentHour.substring(0,2))
				{
					returnDateToHour.selectedIndex=no;
					break;
				}				
			}	
		}
		if(calendarDisplayTimeMinute)
		{
			for(var no=0;no<returnDateToMinute.options.length;no++)
			{
				if(returnDateToMinute.options[no].value==currentMinute)
				{
					returnDateToMinute.selectedIndex=no;
					break;
				}				
			}			
			
		}
		
		
		
	}
	closeCalendar();
	
}
function pickDate_prec(e,inputDay)
{
	var month = currentMonth/1 +1;
	if(month<10)month = '0' + month;
	var day;
	if(!inputDay && this)day = this.innerHTML; else day = inputDay;
	
	if(day/1<10)day = '0' + day;
	if(returnFormat){
		returnFormat = returnFormat.replace('dd',day);
		returnFormat = returnFormat.replace('mm',month);
		returnFormat = returnFormat.replace('yyyy',currentYear);
		returnFormat = returnFormat.replace('hh',currentHour);
		returnFormat = returnFormat.replace('ii',currentMinute);
		returnDateTo.value = returnFormat;
	}else{
		var la_date_prec=new Date();
		la_date_prec.setDate(1);
		la_date_prec.setFullYear(currentYear);
		la_date_prec.setMonth(Number(month)-2);
		la_date_prec.setDate(Number(day));
		
		/*returnDateToYear.value=currentYear
		returnDateToMonth.value=month
		returnDateToDay.value=day*/
		returnDateToDay.value=la_date_prec.getDate();
		returnDateToMonth.value=la_date_prec.getMonth()+1;
		returnDateToYear.value=la_date_prec.getFullYear();
		if(returnDateToDay.value <= 9){returnDateToDay.value = '0' + returnDateToDay.value};
		if(returnDateToMonth.value <= 9){returnDateToMonth.value = '0' + returnDateToMonth.value};
		//alert(currentYear)
		var date_choix=new Date()
		date_choix.setDate(1);
		date_choix.setFullYear(currentYear);
		date_choix.setMonth(month-2);
		date_choix.setDate(day);
		try{
			if(returnDateToYear.name.indexOf('depart')>=0)
				document.getElementById(nom_div_jour_depart).innerHTML=dayArray[date_choix.getDay()];
			else
				document.getElementById(nom_div_jour_retour).innerHTML=dayArray[date_choix.getDay()];
		}catch(error){}
		
		if(AjouterRetour==true)
			{
				
				var prochaine_date=new Date();
				prochaine_date.setDate(1)
				prochaine_date.setFullYear(currentYear);
				prochaine_date.setMonth(Number(month)-2+Number(mplus));
				prochaine_date.setDate(Number(day)+Number(jplus));
				
				prochain_jour=prochaine_date.getDate();
				prochain_mois=prochaine_date.getMonth()+1;
				prochaine_annee=prochaine_date.getFullYear();
				
				
				if(prochain_jour <= 9){prochain_jour = '0' + prochain_jour};
				if(prochain_mois <= 9){prochain_mois = '0' + prochain_mois};
				
				if(returnDateToMonth2.type != 'select-one')
				{
					returnDateToYear2.value=prochaine_annee
					returnDateToMonth2.value=prochain_mois
					returnDateToDay2.value=prochain_jour
				}
				else
				{
					returnDateToYear2.value=Number(prochaine_annee);
					returnDateToMonth2.value=Number(prochain_mois);
					returnDateToDay2.value=Number(prochain_jour);
				}
				try{document.getElementById(nom_div_jour_retour).innerHTML=dayArray[prochaine_date.getDay()];}catch(error){}
			}
		if(calendarDisplayTime){
			for(var no=0;no<returnDateToHour.options.length;no++){
				if(returnDateToHour.options[no].value==currentHour){
					returnDateToHour.selectedIndex=no;
					break;
				}				
			}	
		}
		if(calendarDisplayTimeMinute){
			for(var no=0;no<returnDateToMinute.options.length;no++){
				if(returnDateToMinute.options[no].value==currentMinute){
					returnDateToMinute.selectedIndex=no;
					break;
				}				
			}			
		}
	}
	closeCalendar();
}
function pickDate_suiv(e,inputDay)
{
	var month = currentMonth/1 +1;
	if(month<10)month = '0' + month;
	var day;
	if(!inputDay && this)day = this.innerHTML; else day = inputDay;
	
	if(day/1<10)day = '0' + day;
	if(returnFormat){
		returnFormat = returnFormat.replace('dd',day);
		returnFormat = returnFormat.replace('mm',month);
		returnFormat = returnFormat.replace('yyyy',currentYear);
		returnFormat = returnFormat.replace('hh',currentHour);
		returnFormat = returnFormat.replace('ii',currentMinute);
		returnDateTo.value = returnFormat;
	}else{
		var la_date_prec=new Date();
		la_date_prec.setDate(1);
		la_date_prec.setFullYear(currentYear);
		la_date_prec.setMonth(Number(month));
		la_date_prec.setDate(Number(day));
		
		/*returnDateToYear.value=currentYear
		returnDateToMonth.value=month
		returnDateToDay.value=day*/
		returnDateToDay.value=la_date_prec.getDate();
		returnDateToMonth.value=la_date_prec.getMonth()+1;
		returnDateToYear.value=la_date_prec.getFullYear();
		if(returnDateToDay.value <= 9){returnDateToDay.value = '0' + returnDateToDay.value};
		if(returnDateToMonth.value <= 9){returnDateToMonth.value = '0' + returnDateToMonth.value};
		
		var date_choix=new Date()
		date_choix.setFullYear(currentYear);
		date_choix.setMonth(month);
		date_choix.setDate(day);
		try{
			if(returnDateToYear.name.indexOf('depart')>=0)
				document.getElementById(nom_div_jour_depart).innerHTML=dayArray[date_choix.getDay()];
			else
				document.getElementById(nom_div_jour_retour).innerHTML=dayArray[date_choix.getDay()];
		}catch(error){}
		//alert(currentYear)
		if(AjouterRetour==true)
			{
				var prochaine_date=new Date();
				prochaine_date.setDate(1)
				prochaine_date.setFullYear(currentYear);
				prochaine_date.setMonth(Number(month)+Number(mplus));
				prochaine_date.setDate(Number(day)+Number(jplus));
				
				prochain_jour=prochaine_date.getDate();
				prochain_mois=prochaine_date.getMonth()+1;
				prochaine_annee=prochaine_date.getFullYear();
				
				
				if(prochain_jour <= 9){prochain_jour = '0' + prochain_jour};
				if(prochain_mois <= 9){prochain_mois = '0' + prochain_mois};
				
				retour_jour=eval('document.' + returnDateToDay.form.name + '.retour_jour');
				retour_mois=eval('document.' + returnDateToDay.form.name + '.retour_mois');
				
				if(returnDateToMonth2.type != 'select-one')
				{
					returnDateToYear2.value=prochaine_annee
					returnDateToMonth2.value=prochain_mois
					returnDateToDay2.value=prochain_jour
				}
				else
				{
					returnDateToYear2.value=Number(prochaine_annee);
					returnDateToMonth2.value=Number(prochain_mois);
					returnDateToDay2.value=Number(prochain_jour);
				}
				try{document.getElementById(nom_div_jour_retour).innerHTML=dayArray[prochaine_date.getDay()];}catch(error){}
			}
		if(calendarDisplayTime){
			for(var no=0;no<returnDateToHour.options.length;no++){
				if(returnDateToHour.options[no].value==currentHour){
					returnDateToHour.selectedIndex=no;
					break;
				}				
			}	
		}
		if(calendarDisplayTimeMinute){
			for(var no=0;no<returnDateToMinute.options.length;no++){
				if(returnDateToMinute.options[no].value==currentMinute){
					returnDateToMinute.selectedIndex=no;
					break;
				}				
			}			
		}
	}
	closeCalendar();
}
// This function is from http://www.codeproject.com/csharp/gregorianwknum.asp
// Only changed the month add
function getWeek(year,month,day){
	day = day/1;
	year = year /1;
    month = month/1 + 1; //use 1-12
    var a = Math.floor((14-(month))/12);
    var y = year+4800-a;
    var m = (month)+(12*a)-3;
    var jd = day + Math.floor(((153*m)+2)/5) + 
                 (365*y) + Math.floor(y/4) - Math.floor(y/100) + 
                 Math.floor(y/400) - 32045;      // (gregorian calendar)
    var d4 = (jd+31741-(jd%7))%146097%36524%1461;
    var L = Math.floor(d4/1460);
    var d1 = ((d4-L)%365)+L;
    NumberOfWeek = Math.floor(d1/7) + 1;
    return NumberOfWeek;        
}

function writeTimeBar()
{
	var timeBar = document.createElement('DIV');
	timeBar.id = 'timeBar';
	timeBar.className = 'timeBar';
	//timeBar.style.left="80px"
	
	var subDiv = document.createElement('DIV');
	subDiv.innerHTML = 'Time:';
	//timeBar.appendChild(subDiv);
	
	// Year selector
	var hourDiv = document.createElement('DIV');
	hourDiv.onmouseover = highlightSelect;
	hourDiv.onmouseout = highlightSelect;
	hourDiv.onclick = showHourDropDown;
	if(!calendarDisplayTimeMinute)
		hourDiv.style.left = '20px';
	if(calendarDisplayTimeMinute)
		hourDiv.style.width = '30px';
	else
		hourDiv.style.width = '45px';
		
	var span = document.createElement('SPAN');		
	span.innerHTML = currentHour;
	span.id = 'calendar_hour_txt';
	
	hourDiv.appendChild(span);
	timeBar.appendChild(hourDiv);
	
	
	var img = document.createElement('SPAN');
	img.innerHTML='&nbsp;&nabla;';
	img.style.position = 'absolute';
	img.style.right = '0px';
	hourDiv.appendChild(img);
	hourDiv.className = 'selectBoxTime';
	
	
	
	if(Opera){
		hourDiv.style.width = '30px';
		img.style.cssText = 'float:right';
		img.style.position = 'relative';
		img.style.styleFloat = 'right';
	}	
	
	var hourPicker = createHourDiv();
	
	if(calendarDisplayTimeMinute)
		hourPicker.style.left = '134px';
	else
		hourPicker.style.left = '154px';
	//hourPicker.style.top = monthDiv.offsetTop + monthDiv.offsetHeight + 1 + 'px';

	if(calendarDisplayTimeMinute)
		hourPicker.style.width = '33px';
	else
		hourPicker.style.width = '48px';
	hourPicker.id = 'hourDropDown';
	calendarDiv.appendChild(hourPicker);
	
	// Add Minute picker
	
	if(calendarDisplayTimeMinute)
	{
		// minute selector	
		var minuteDiv = document.createElement('DIV');
		//minuteDiv.style.display = 'none';
		minuteDiv.onmouseover = highlightSelect;
		minuteDiv.onmouseout = highlightSelect;
		minuteDiv.onclick = showMinuteDropDown;
		minuteDiv.style.width = '30px';
		var span = document.createElement('SPAN');		
		span.innerHTML = currentMinute;
		span.id = 'calendar_minute_txt';
		minuteDiv.appendChild(span);
		timeBar.appendChild(minuteDiv);
		
		
		var img = document.createElement('SPAN');
		img.innerHTML='&nbsp;&nabla;';
		img.style.position = 'absolute';
		img.style.right = '0px';
		minuteDiv.appendChild(img);
		minuteDiv.className = 'selectBoxTime';
	}
	

	if(Opera){
		minuteDiv.style.width = '30px';
		img.style.cssText = 'float:right';
		img.style.position = 'relative';
		img.style.styleFloat = 'right';
	}	
	
	var minutePicker = createMinuteDiv();
	minutePicker.style.left = '170px';
	//minutePicker.style.top = monthDiv.offsetTop + monthDiv.offsetHeight + 1 + 'px';
	minutePicker.style.width = '33px';
	minutePicker.id = 'minuteDropDown';
	calendarDiv.appendChild(minutePicker);
		
	
	return timeBar;
	
}

function writeBottomBar()
{
	//return ;
	var d = new Date();
	var bottomBar = document.createElement('DIV');	
	
	bottomBar.id = 'bottomBar';
	bottomBar.style.cursor = 'pointer';
	bottomBar.className = 'todaysDate';
	
	var subDiv = document.createElement('DIV');
	//subDiv.onclick = pickTodaysDate;
	subDiv.id = 'todaysDateString';
	subDiv.style.width = (calendarDiv.offsetWidth - 95) + 'px';
	
	var day = d.getDay();
	if(day==0)day = 7;
	day--;
	
	var bottomString = todayStringFormat;
	bottomString = bottomString.replace('[monthString]',monthArrayShort[d.getMonth()]);
	bottomString = bottomString.replace('[day]',d.getDate());
	bottomString = bottomString.replace('[year]',d.getFullYear());
	bottomString = bottomString.replace('[dayString]',dayArrayShort[day].toLowerCase());
	bottomString = bottomString.replace('[UCFdayString]',dayArrayShort[day]);
	bottomString = bottomString.replace('[todayString]',todayString);
	
	
	
	subDiv.innerHTML = todayString + ': ' + d.getDate() + '. ' + monthArrayShort[d.getMonth()] + ', ' +  d.getFullYear() ;
	subDiv.innerHTML = bottomString +'&nbsp;&nbsp;&nbsp;<b>x</b>';
	
	subDiv.innerHTML = closeString;
	subDiv.onclick=closeCalendar;
	subDiv.className='normalDay';		
	bottomBar.appendChild(subDiv);
	
	var timeDiv = writeTimeBar();
	bottomBar.appendChild(timeDiv);
	
	calendarDiv.appendChild(bottomBar);	
	
	
		
}
function getTopPos(inputObj)
{
	
  var returnValue = inputObj.offsetTop + inputObj.offsetHeight;
  while((inputObj = inputObj.offsetParent) != null)returnValue += inputObj.offsetTop;
  return returnValue + calendar_offsetTop;
}

function getleftPos(inputObj)
{
  var returnValue = inputObj.offsetLeft;
  while((inputObj = inputObj.offsetParent) != null)returnValue += inputObj.offsetLeft;
  return returnValue + calendar_offsetLeft;
}

function positionCalendar(inputObj)
{
	//Au centre
	//le_left = (screen.width - 209)/2
	//le_top = (screen.height - 259)/2
	
	//Par rapport Icone
	le_left=getleftPos(inputObj);
	le_top =getTopPos(inputObj);
	
	calendarDiv.style.left =le_left + 'px';
	calendarDiv.style.top = le_top + 'px';
	if(iframeObj){
		iframeObj.style.left = calendarDiv.style.left;
		iframeObj.style.top =  calendarDiv.style.top;
	}
		
}
	
function initCalendar()
{
	if(MSIE){
		iframeObj = document.createElement('IFRAME');
		iframeObj.style.position = 'absolute';
		iframeObj.border='0px';
		iframeObj.style.border = '0px';
		iframeObj.style.backgroundColor = '#FF0000';
		document.body.appendChild(iframeObj);
	}
		
	calendarDiv = document.createElement('DIV');	
	calendarDiv.id = 'calendarDiv';
	calendarDiv.style.zIndex = 1000;
	
	slideCalendarSelectBox();
	
	document.body.appendChild(calendarDiv);	
	writeBottomBar();	
	writeTopBar();
	
	
	
	if(!currentYear){
		var d = new Date();
		currentMonth = d.getMonth();
		currentYear = d.getFullYear();
	}
	writeCalendarContent();	


		
}

function setTimeProperties()
{
	if(!calendarDisplayTime ){
		document.getElementById('timeBar').style.display='none'; 
		document.getElementById('timeBar').style.visibility='hidden'; 
		document.getElementById('todaysDateString').style.width = '100%';
		
			
	}else{ 
		document.getElementById('timeBar').style.display='block';
		document.getElementById('timeBar').style.visibility='visible';
		if(calendarDisplayTimeMinute)
		{
			document.getElementById('hourDropDown').style.top = 1+ document.getElementById('calendar_minute_txt').parentNode.offsetHeight + calendarContentDiv.offsetHeight + document.getElementById('topBar').offsetHeight + 'px';
			document.getElementById('minuteDropDown').style.top =1+ document.getElementById('calendar_minute_txt').parentNode.offsetHeight + calendarContentDiv.offsetHeight + document.getElementById('topBar').offsetHeight + 'px';
			document.getElementById('minuteDropDown').style.right = '50px';
		}
		else
		{
			document.getElementById('hourDropDown').style.top = 18 + calendarContentDiv.offsetHeight + document.getElementById('topBar').offsetHeight + 'px';
		}
		
		document.getElementById('hourDropDown').style.right = '40px';
		document.getElementById('todaysDateString').style.width = '155px';
	}	
}


function displayCalendar(inputField,format,buttonObj,displayTime,timeInput)
{
	if(displayTime)calendarDisplayTime=true; else calendarDisplayTime = false;
	if(inputField.value.length==format.length){
		var monthPos = format.indexOf('mm');
		currentMonth = inputField.value.substr(monthPos,2)/1 -1;	
		var yearPos = format.indexOf('yyyy');
		currentYear = inputField.value.substr(yearPos,4);		
		var dayPos = format.indexOf('dd');
		tmpDay = inputField.value.substr(dayPos,2);		
		
		var hourPos = format.indexOf('hh');
		if(hourPos>=0){
			tmpHour = inputField.value.substr(hourPos,2);	
			currentHour = tmpHour;
		}else{
			currentHour = '00';
		}
		var minutePos = format.indexOf('ii');
		if(minutePos>=0){
			tmpMinute = inputField.value.substr(minutePos,2);	
			currentMinute = tmpMinute;
		}else{
			currentMinute = '00';
		}	
	}else{
		var d = new Date();
		currentMonth = d.getMonth();
		currentYear = d.getFullYear();
		currentHour = '08';
		currentMinute = '00';
		tmpDay = d.getDate();
	}
	
	inputYear = currentYear;
	inputMonth = currentMonth;
	inputDay = tmpDay/1;
	
	
	if(!calendarDiv){
		initCalendar();			
	}else{
		if(calendarDiv.style.display=='block'){
			closeCalendar();
			return false;
		}
		writeCalendarContent();
	}	
	
	
			
	returnFormat = format;
	returnDateTo = inputField;
	positionCalendar(buttonObj);
	calendarDiv.style.visibility = 'visible';	
	calendarDiv.style.display = 'block';	
	if(iframeObj){
		iframeObj.style.display = '';
		iframeObj.style.height = '140px';
		iframeObj.style.width = '195px';
	}
	
	setTimeProperties();	
	updateYearDiv();
	updateMonthDiv();
	updateMinuteDiv();
	updateHourDiv();
	
}
// Calendar simple 1 an //displayCalendarSelectBox
function displayCalendarSelectBox(yearInput,monthInput,dayInput,hourInput,minuteInput,buttonObj,idlangue,yearInputreturn,monthInputreturn,dayInputreturn,jp,mp)
{
	idlangue=idlangue-1
	monthArray = [JanArray[idlangue],FevArray[idlangue],MarArray[idlangue],AvrArray[idlangue],MaiArray[idlangue],JunArray[idlangue],JuiArray[idlangue],AouArray[idlangue],SepArray[idlangue],OctArray[idlangue],NovArray[idlangue],DecArray[idlangue]];
	monthArrayShort = [JanShortArray[idlangue],FevShortArray[idlangue],MarShortArray[idlangue],AvrShortArray[idlangue],MaiShortArray[idlangue],JunShortArray[idlangue],JuiShortArray[idlangue],AouShortArray[idlangue],SepShortArray[idlangue],OctShortArray[idlangue],NovShortArray[idlangue],DecShortArray[idlangue]];
	dayArray = [DimancheArray[idlangue],LundiArray[idlangue],MardiArray[idlangue],MercrediArray[idlangue],JeudiArray[idlangue],VendrediArray[idlangue],SamediArray[idlangue]];
	dayArrayShort = [LundiShortArray[idlangue],MardiShortArray[idlangue],MercrediShortArray[idlangue],JeudiShortArray[idlangue],VendrediShortArray[idlangue],SamediShortArray[idlangue],DimancheShortArray[idlangue]];
	weekString = weekArray[idlangue];
	todayString = todayArray[idlangue];
	closeString = closeArray[idlangue];
	
	var to_day=new Date();
	l_annee=to_day.getFullYear()
	if(l_annee < 2000)
		l_annee +=1900;
		
	le_mois=to_day.getMonth()+1;
	le_jour=to_day.getDate();
	
	if(!hourInput)calendarDisplayTime=false; else calendarDisplayTime = true;
	if(!minuteInput)calendarDisplayTimeMinute=false; else calendarDisplayTimeMinute = true;
	
	if (dayInput.value >0 && dayInput.value <32 && !isNaN(dayInput.value))
	{
		inputDay = dayInput.value/1;
	}else
		{
			inputDay=le_jour;
		}
	
	if (monthInput.value >0 && monthInput.value <13 && !isNaN(monthInput.value))
	{
		currentMonth = monthInput.value/1-1;
		inputMonth = monthInput.value/1 - 1;
	}else
		{
			currentMonth = le_mois-1;
			inputMonth = le_mois-1;
		}
	
	if (yearInput.value >= l_annee && !isNaN(yearInput.value))
	{
		currentYear = yearInput.value;
		inputYear = yearInput.value;
	}else
		{
			currentYear = l_annee;
			inputYear = l_annee;
		}
	
	if(hourInput){
		currentHour = hourInput.value;
		inputHour = currentHour/1;
	}
	if(minuteInput){
		currentMinute = minuteInput.value;
		inputMinute = currentMinute/1;
	}
	


	if(!calendarDiv){
		initCalendar();			
	}else{
		writeCalendarContent();
	}		

	
	
	returnDateToYear = yearInput;
	returnDateToMonth = monthInput;
	returnDateToDay = dayInput;
	
	if(yearInputreturn)
	{
		AjouterRetour =true;
		returnDateToYear2 = yearInputreturn;
		returnDateToMonth2 = monthInputreturn;
		returnDateToDay2 = dayInputreturn;
		jplus=jp;
		mplus=mp;
	}
	else
	{
		AjouterRetour =false;
	}
		
	
	returnDateToHour = hourInput; 	
	returnDateToMinute = minuteInput; 	

	

	
	returnFormat = false;
	returnDateTo = false;
	positionCalendar(buttonObj);
	calendarDiv.style.visibility = 'visible';	
	calendarDiv.style.display = 'block';
	if(iframeObj){
		iframeObj.style.display = '';
		iframeObj.style.height = calendarDiv.offsetHeight + 'px';
		iframeObj.style.width = calendarDiv.offsetWidth + 'px';	
	}
	setTimeProperties();
	updateYearDiv();
	updateMonthDiv();
	updateHourDiv();
	updateMinuteDiv();
	
	
	
	if(currentYear < annee_courant)
		{
			document.getElementById('image_left').style.visibility='hidden';
		}
	else
		{
			if(currentYear == annee_courant)
			{
				if(currentMonth <=mois_courant)
					{
						document.getElementById('image_left').style.visibility='hidden';
					}
				else
					{
						document.getElementById('image_left').style.visibility='visible';
					}
			}
			else
				{
					document.getElementById('image_left').style.visibility='visible';
				}
		}
	if(currentYear < annee_max-1)
		{
			document.getElementById('image_right').style.visibility='visible';
		}
	else
		{
			if(currentYear == annee_max-1)
			{
				
				if(currentMonth >= mois_max)
					document.getElementById('image_right').style.visibility='hidden';
				else
					document.getElementById('image_right').style.visibility='visible';
			}
			else
			{
				document.getElementById('image_right').style.visibility='hidden';
			}			
		}
	
}
//entre deux dates
function displayCalendarSelectBox2(yearInput,monthInput,dayInput,daymin,monthmin,yearmin,daymax,monthmax,yearmax,hourInput,minuteInput,buttonObj,idlangue,yearInputreturn,monthInputreturn,dayInputreturn,jp,mp)
{
	idlangue=idlangue-1
	monthArray = [JanArray[idlangue],FevArray[idlangue],MarArray[idlangue],AvrArray[idlangue],MaiArray[idlangue],JunArray[idlangue],JuiArray[idlangue],AouArray[idlangue],SepArray[idlangue],OctArray[idlangue],NovArray[idlangue],DecArray[idlangue]];
	monthArrayShort = [JanShortArray[idlangue],FevShortArray[idlangue],MarShortArray[idlangue],AvrShortArray[idlangue],MaiShortArray[idlangue],JunShortArray[idlangue],JuiShortArray[idlangue],AouShortArray[idlangue],SepShortArray[idlangue],OctShortArray[idlangue],NovShortArray[idlangue],DecShortArray[idlangue]];
	dayArray = [DimancheArray[idlangue],LundiArray[idlangue],MardiArray[idlangue],MercrediArray[idlangue],JeudiArray[idlangue],VendrediArray[idlangue],SamediArray[idlangue]];
	dayArrayShort = [LundiShortArray[idlangue],MardiShortArray[idlangue],MercrediShortArray[idlangue],JeudiShortArray[idlangue],VendrediShortArray[idlangue],SamediShortArray[idlangue],DimancheShortArray[idlangue]];
	weekString = weekArray[idlangue];
	todayString = todayArray[idlangue];
	closeString = closeArray[idlangue];
	
	var to_day=new Date();
	l_annee=to_day.getFullYear()
	if(l_annee < 2000)
		l_annee +=1900;
		
	le_mois=to_day.getMonth()+1;
	le_jour=to_day.getDate();


	if(!hourInput)calendarDisplayTime=false; else calendarDisplayTime = true;
	if(!minuteInput)calendarDisplayTimeMinute=false; else calendarDisplayTimeMinute = true;
	
	if (dayInput.value >0 && dayInput.value <32 && !isNaN(dayInput.value))
	{
		inputDay = dayInput.value/1;
	}else
		{
			inputDay=le_jour;
		}
	
	if (monthInput.value >0 && monthInput.value <13 && !isNaN(monthInput.value))
	{
		currentMonth = monthInput.value/1-1;
		inputMonth = monthInput.value/1 - 1;
	}else
		{
			currentMonth = le_mois-1;
			inputMonth = le_mois-1;
		}
	
	if (yearInput.value >= l_annee && !isNaN(yearInput.value))
	{
		currentYear = yearInput.value;
		inputYear = yearInput.value;
	}else
		{
			currentYear = l_annee;
			inputYear = l_annee;
		}
	//-----------------------------------------
	annee_courant=yearmin;
	mois_courant=monthmin-1;
	jour_courant=daymin;
	
	//currentYear =mois_courant
	///currentYear =annee_courant
	
	annee_plus=yearmax-yearmin+1
	annee_max=Number(annee_courant)+annee_plus;
	mois_max=monthmax-1;
	jour_max=daymax;
	//alert(jour_max + ' ' + mois_max +' ' + annee_max + ' '+annee_courant)
	//-----------------------------------------
	if(hourInput){
		currentHour = hourInput.value;
		inputHour = currentHour/1;
	}
	if(minuteInput){
		currentMinute = minuteInput.value;
		inputMinute = currentMinute/1;
	}
	


	if(!calendarDiv){
		initCalendar();			
	}else{
		writeCalendarContent();
	}		

	
	
	returnDateToYear = yearInput;
	returnDateToMonth = monthInput;
	returnDateToDay = dayInput;
	
	if(yearInputreturn)
	{
		AjouterRetour =true;
		returnDateToYear2 = yearInputreturn;
		returnDateToMonth2 = monthInputreturn;
		returnDateToDay2 = dayInputreturn;
		jplus=jp;
		mplus=mp;
	}
	else
	{
		AjouterRetour =false;
	}
	
	returnDateToHour = hourInput; 	
	returnDateToMinute = minuteInput; 	

	

	
	returnFormat = false;
	returnDateTo = false;
	positionCalendar(buttonObj);
	calendarDiv.style.visibility = 'visible';	
	calendarDiv.style.display = 'block';
	if(iframeObj){
		iframeObj.style.display = '';
		iframeObj.style.height = calendarDiv.offsetHeight + 'px';
		iframeObj.style.width = calendarDiv.offsetWidth + 'px';	
	}
	setTimeProperties();
	updateYearDiv();
	updateMonthDiv();
	updateHourDiv();
	updateMinuteDiv();
	
	
	
	if(currentYear < annee_courant)
		{
			document.getElementById('image_left').style.visibility='hidden';
		}
	else
		{
			if(currentYear == annee_courant)
			{
				if(currentMonth <=mois_courant)
					{
						document.getElementById('image_left').style.visibility='hidden';
					}
				else
					{
						document.getElementById('image_left').style.visibility='visible';
					}
			}
			else
				{
					document.getElementById('image_left').style.visibility='visible';
				}
		}
	if(currentYear < annee_max-1)
		{
			document.getElementById('image_right').style.visibility='visible';
		}
	else
		{
			if(currentYear == annee_max-1)
			{
				
				if(currentMonth >= mois_max)
					document.getElementById('image_right').style.visibility='hidden';
				else
					document.getElementById('image_right').style.visibility='visible';
			}
			else
			{
				document.getElementById('image_right').style.visibility='hidden';
			}			
		}
}
// Une liste de dates
function displayCalendarSelectBox3()
{
	a=displayCalendarSelectBox3.arguments; 
	
	idlangue=a[6]-1;
	monthArray = [JanArray[idlangue],FevArray[idlangue],MarArray[idlangue],AvrArray[idlangue],MaiArray[idlangue],JunArray[idlangue],JuiArray[idlangue],AouArray[idlangue],SepArray[idlangue],OctArray[idlangue],NovArray[idlangue],DecArray[idlangue]];
	monthArrayShort = [JanShortArray[idlangue],FevShortArray[idlangue],MarShortArray[idlangue],AvrShortArray[idlangue],MaiShortArray[idlangue],JunShortArray[idlangue],JuiShortArray[idlangue],AouShortArray[idlangue],SepShortArray[idlangue],OctShortArray[idlangue],NovShortArray[idlangue],DecShortArray[idlangue]];
	dayArray = [DimancheArray[idlangue],LundiArray[idlangue],MardiArray[idlangue],MercrediArray[idlangue],JeudiArray[idlangue],VendrediArray[idlangue],SamediArray[idlangue]];
	dayArrayShort = [LundiShortArray[idlangue],MardiShortArray[idlangue],MercrediShortArray[idlangue],JeudiShortArray[idlangue],VendrediShortArray[idlangue],SamediShortArray[idlangue],DimancheShortArray[idlangue]];
	weekString = weekArray[idlangue];
	todayString = todayArray[idlangue];
	closeString = closeArray[idlangue];

	if(!hourInput)calendarDisplayTime=false; else calendarDisplayTime = true;
	if(!minuteInput)calendarDisplayTimeMinute=false; else calendarDisplayTimeMinute = true;
	
	hourInput=a[0];
	minuteInput=a[1];
	buttonObj=a[2];
	
	
	
	yearInput=a[3];
	monthInput=a[4];
	dayInput=a[5];
	
	w=7;
	if(isNaN(a[7]))
	{
		AjouterRetour =true;
		returnDateToYear2 = a[7];
		returnDateToMonth2 = a[8];
		returnDateToDay2 = a[9];
		jplus=a[10];
		mplus=a[11];
		w=12;
	}
	else
	{
		AjouterRetour =false;
	}
	
	mois_courant=a[w]/1-1;
	annee_courant=a[w+1];
	currentMonth=mois_courant;
	currentYear=annee_courant;
	
	annee_plus=a[w+3]-annee_courant+1
	annee_max=Number(annee_courant)+annee_plus;
	mois_max=a[w+2]/1-1;
		
	jour_courant=1;
	jour_max=31;
	
	
	
	for(i=w+3; i<a.length; i++)
    	ArrayDates[i-(w+3)]=a[i];
		  
	
	if(hourInput){
		currentHour = hourInput.value;
		inputHour = currentHour/1;
	}
	if(minuteInput){
		currentMinute = minuteInput.value;
		inputMinute = currentMinute/1;
	}
	


	if(!calendarDiv){
		initCalendar();			
	}else{
		writeCalendarContent();
	}		

	
	
	returnDateToYear = yearInput;
	returnDateToMonth = monthInput;
	returnDateToDay = dayInput;
	returnDateToHour = hourInput; 	
	returnDateToMinute = minuteInput; 	

	

	
	returnFormat = false;
	returnDateTo = false;
	positionCalendar(buttonObj);
	calendarDiv.style.visibility = 'visible';	
	calendarDiv.style.display = 'block';
	if(iframeObj){
		iframeObj.style.display = '';
		iframeObj.style.height = calendarDiv.offsetHeight + 'px';
		iframeObj.style.width = calendarDiv.offsetWidth + 'px';	
	}
	setTimeProperties();
	updateYearDiv();
	updateMonthDiv();
	updateHourDiv();
	updateMinuteDiv();
	
	
	
	if(currentYear < annee_courant)
		{
			document.getElementById('image_left').style.visibility='hidden';
		}
	else
		{
			if(currentYear == annee_courant)
			{
				if(currentMonth <=mois_courant)
					{
						document.getElementById('image_left').style.visibility='hidden';
					}
				else
					{
						document.getElementById('image_left').style.visibility='visible';
					}
			}
			else
				{
					document.getElementById('image_left').style.visibility='visible';
				}
		}
	if(currentYear < annee_max-1)
		{
			document.getElementById('image_right').style.visibility='visible';
		}
	else
		{
			if(currentYear == annee_max-1)
			{
				
				if(currentMonth >= mois_max)
					document.getElementById('image_right').style.visibility='hidden';
				else
					document.getElementById('image_right').style.visibility='visible';
			}
			else
			{
				document.getElementById('image_right').style.visibility='hidden';
			}			
		}
}
// Avec jour d'operation
function displayCalendarSelectBox4(yearInput,monthInput,dayInput,hourInput,minuteInput,buttonObj,idlangue,JO1,JO2,JO3,JO4,JO5,JO6,JO7,yearInputreturn,monthInputreturn,dayInputreturn,jp,mp)
{
	idlangue=idlangue-1
	monthArray = [JanArray[idlangue],FevArray[idlangue],MarArray[idlangue],AvrArray[idlangue],MaiArray[idlangue],JunArray[idlangue],JuiArray[idlangue],AouArray[idlangue],SepArray[idlangue],OctArray[idlangue],NovArray[idlangue],DecArray[idlangue]];
	monthArrayShort = [JanShortArray[idlangue],FevShortArray[idlangue],MarShortArray[idlangue],AvrShortArray[idlangue],MaiShortArray[idlangue],JunShortArray[idlangue],JuiShortArray[idlangue],AouShortArray[idlangue],SepShortArray[idlangue],OctShortArray[idlangue],NovShortArray[idlangue],DecShortArray[idlangue]];
	dayArray = [DimancheArray[idlangue],LundiArray[idlangue],MardiArray[idlangue],MercrediArray[idlangue],JeudiArray[idlangue],VendrediArray[idlangue],SamediArray[idlangue]];
	dayArrayShort = [LundiShortArray[idlangue],MardiShortArray[idlangue],MercrediShortArray[idlangue],JeudiShortArray[idlangue],VendrediShortArray[idlangue],SamediShortArray[idlangue],DimancheShortArray[idlangue]];
	weekString = weekArray[idlangue];
	todayString = todayArray[idlangue];
	closeString = closeArray[idlangue];
	
	var to_day=new Date();
	l_annee=to_day.getFullYear()
	if(l_annee < 2000)
		l_annee +=1900;
		
	le_mois=to_day.getMonth()+1;
	le_jour=to_day.getDate();
	
	if(!hourInput)calendarDisplayTime=false; else calendarDisplayTime = true;
	if(!minuteInput)calendarDisplayTimeMinute=false; else calendarDisplayTimeMinute = true;
	
	if (dayInput.value >0 && dayInput.value <32 && !isNaN(dayInput.value))
	{
		inputDay = dayInput.value/1;
	}else
		{
			inputDay=le_jour;
		}
	
	if (monthInput.value >0 && monthInput.value <13 && !isNaN(monthInput.value))
	{
		currentMonth = monthInput.value/1-1;
		inputMonth = monthInput.value/1 - 1;
	}else
		{
			currentMonth = le_mois-1;
			inputMonth = le_mois-1;
		}
	
	if (yearInput.value >= l_annee && !isNaN(yearInput.value))
	{
		currentYear = yearInput.value;
		inputYear = yearInput.value;
	}else
		{
			currentYear = l_annee;
			inputYear = l_annee;
		}
	
	if(hourInput){
		currentHour = hourInput.value;
		inputHour = currentHour/1;
	}
	if(minuteInput){
		currentMinute = minuteInput.value;
		inputMinute = currentMinute/1;
	}
	
	ArrayDates[0]='x';
	ArrayJO=[JO1,JO2,JO3,JO4,JO5,JO6,JO7];

	if(!calendarDiv){
		initCalendar();			
	}else{
		writeCalendarContent();
	}		

	
	
	returnDateToYear = yearInput;
	returnDateToMonth = monthInput;
	returnDateToDay = dayInput;
	
	if(yearInputreturn)
	{
		AjouterRetour =true;
		returnDateToYear2 = yearInputreturn;
		returnDateToMonth2 = monthInputreturn;
		returnDateToDay2 = dayInputreturn;
		jplus=jp;
		mplus=mp;
	}
	else
	{
		AjouterRetour =false;
	}
	
	returnDateToHour = hourInput; 	
	returnDateToMinute = minuteInput; 	

	

	
	returnFormat = false;
	returnDateTo = false;
	positionCalendar(buttonObj);
	calendarDiv.style.visibility = 'visible';	
	calendarDiv.style.display = 'block';
	if(iframeObj){
		iframeObj.style.display = '';
		iframeObj.style.height = calendarDiv.offsetHeight + 'px';
		iframeObj.style.width = calendarDiv.offsetWidth + 'px';	
	}
	setTimeProperties();
	updateYearDiv();
	updateMonthDiv();
	updateHourDiv();
	updateMinuteDiv();
	
	
	
	if(currentYear < annee_courant)
		{
			document.getElementById('image_left').style.visibility='hidden';
		}
	else
		{
			if(currentYear == annee_courant)
			{
				if(currentMonth <=mois_courant)
					{
						document.getElementById('image_left').style.visibility='hidden';
					}
				else
					{
						document.getElementById('image_left').style.visibility='visible';
					}
			}
			else
				{
					document.getElementById('image_left').style.visibility='visible';
				}
		}
	if(currentYear < annee_max-1)
		{
			document.getElementById('image_right').style.visibility='visible';
		}
	else
		{
			if(currentYear == annee_max-1)
			{
				
				if(currentMonth >= mois_max)
					document.getElementById('image_right').style.visibility='hidden';
				else
					document.getElementById('image_right').style.visibility='visible';
			}
			else
			{
				document.getElementById('image_right').style.visibility='hidden';
			}			
		}	
}

function actualiserNomJour(inputday,inputmonth,inputyear,returnDiv,idlangue,inputdayreturn,inputmonthreturn,inputyearreturn,returnDivreturn,nb_j,nb_m)
{
	/*try
	{*///alert('');
		idlangue=idlangue-1
		monthArray = [JanArray[idlangue],FevArray[idlangue],MarArray[idlangue],AvrArray[idlangue],MaiArray[idlangue],JunArray[idlangue],JuiArray[idlangue],AouArray[idlangue],SepArray[idlangue],OctArray[idlangue],NovArray[idlangue],DecArray[idlangue]];
		monthArrayShort = [JanShortArray[idlangue],FevShortArray[idlangue],MarShortArray[idlangue],AvrShortArray[idlangue],MaiShortArray[idlangue],JunShortArray[idlangue],JuiShortArray[idlangue],AouShortArray[idlangue],SepShortArray[idlangue],OctShortArray[idlangue],NovShortArray[idlangue],DecShortArray[idlangue]];
		dayArray = [DimancheArray[idlangue],LundiArray[idlangue],MardiArray[idlangue],MercrediArray[idlangue],JeudiArray[idlangue],VendrediArray[idlangue],SamediArray[idlangue]];
		dayArrayShort = [LundiShortArray[idlangue],MardiShortArray[idlangue],MercrediShortArray[idlangue],JeudiShortArray[idlangue],VendrediShortArray[idlangue],SamediShortArray[idlangue],DimancheShortArray[idlangue]];
		weekString = weekArray[idlangue];
		todayString = todayArray[idlangue];
		closeString = closeArray[idlangue];
		var day=inputday.value;
		var month=inputmonth.value;
		var year=inputyear.value;
		
		if (day <=0 || day >=32 || isNaN(day))
		{
			document.getElementById(returnDiv).innerHTML='&nbsp;';
			return;
		}
		
		if (month <=0 || month >=13 || isNaN(month))
		{
			document.getElementById(returnDiv).innerHTML='&nbsp;';
			return;
		}
		
		if (isNaN(year))
		{
			document.getElementById(returnDiv).innerHTML='&nbsp;';
			return;
		}
		
		var date_choix=new Date()
		date_choix.setDate(1);
		date_choix.setFullYear(Number(year));
		date_choix.setMonth(Number(month)-1);
		date_choix.setDate(Number(day));		
		document.getElementById(returnDiv).innerHTML=dayArray[date_choix.getDay()];
		
		if(inputdayreturn)
		{
			var date_retour=new Date()
			date_retour.setDate(1);
			date_retour.setFullYear(Number(year));
			date_retour.setMonth(Number(month)-1+nb_m);
			date_retour.setDate(Number(day)+nb_j);
			
			prochain_jour=date_retour.getDate();
			prochain_mois=date_retour.getMonth()+1;
			prochaine_annee=date_retour.getFullYear();
			
			
			if(prochain_jour <= 9){prochain_jour = '0' + prochain_jour};
			if(prochain_mois <= 9){prochain_mois = '0' + prochain_mois};
			
			inputdayreturn.value=prochain_jour;
			inputmonthreturn.value=prochain_mois;
			inputyearreturn.value=prochaine_annee;
			if(document.getElementById(returnDivreturn))
				document.getElementById(returnDivreturn).innerHTML=dayArray[date_retour.getDay()];
		}
	/*}
	catch(error){}*/
}
/*
function setDayMonth(languageCode)
{
	// Possible values: 	en,fr,it,ge,no,nl,es,pt-br	
	// en = english, fr = french, ge = german, no = norwegian,nl = dutch, es = spanish, pt-br = portuguese, da = danish, hu = hungarian(Use UTF-8 doctype for hungarian)	switch(languageCode){
	switch(languageCode){
		case "en":	// English 
			var monthArray = ['January','February','March','April','May','June','July','August','September','October','November','December'];
			var monthArrayShort = ['Jan','Feb','Mar','Apr','May','Jun','Jul','Aug','Sep','Oct','Nov','Dec'];
			var dayArrayShort = ['Mon','Tue','Wed','Thu','Fri','Sat','Sun'];
			var weekString = 'Week';
			var todayString = 'Today';
			break;
		case "it":	// Italian
			var monthArray = ['Gennaio','Febbraio','Marzo','Aprile','Maggio','Giugno','Luglio','Agosto','Settembre','Ottobre','Novembre','Dicembre'];
			var monthArrayShort = ['Gen','Feb','Mar','Apr','Mag','Giu','Lugl','Ago','Set','Ott','Nov','Dic'];
			var dayArrayShort = ['Lun','Mar','Mer','Gio','Ven','Sab','Dom'];
			var weekString = 'Sett';//Settimana
			var todayString = 'Oggi &egrave; il';
			break;	
		case "fr":      // French 
			monthArray = ['Janvier','F&eacute;vrier','Mars','Avril','Mai','Juin','Juillet','Ao&ucirc;t','Septembre','Octobre','Novembre','D&eacute;cembre'];		
			monthArrayShort = ['Jan','F&eacute;v','Mar','Avr','Mai','Jun','Jul','Ao&ucirc;t','Sep','Oct','Nov','D&eacute;c'];
			dayArrayShort = ['Lun','Mar','Mer','Jeu','Ven','Sam','Dim'];
			weekString = 'Sem';
			todayString = "Aujourd'hui";
			break; 	
		case "ge":	// German 
			var monthArray = ['Januar','Februar','März','April','Mai','Juni','Juli','August','September','Oktober','November','Dezember'];
			var monthArrayShort = ['Jan','Feb','Mar','Apr','Mai','Jun','Jul','Aug','Sep','Okt','Nov','Dez'];
			var dayArrayShort = ['Mon','Die','Mit','Don','Fre','Sam','Son'];	
			var weekString = 'Woche';
			var todayString = 'Heute';		
			break;
		case "no":	// Norwegian 
			var monthArray = ['Januar','Februar','Mars','April','Mai','Juni','Juli','August','September','Oktober','November','Desember'];
			var monthArrayShort = ['Jan','Feb','Mar','Apr','Mai','Jun','Jul','Aug','Sep','Okt','Nov','Des'];
			var dayArrayShort = ['Man','Tir','Ons','Tor','Fre','L&oslash;r','S&oslash;n'];	
			var weekString = 'Uke';
			var todayString = 'Dagen i dag er';
			break;	
		case "nl":	// Dutch 
			var monthArray = ['Januari','Februari','Maart','April','Mei','Juni','Juli','Augustus','September','Oktober','November','December'];
			var monthArrayShort = ['Jan','Feb','Mar','Apr','Mei','Jun','Jul','Aug','Sep','Okt','Nov','Dec'];
			var dayArrayShort = ['Ma','Di','Wo','Do','Vr','Za','Zo'];
			var weekString = 'Week';
			var todayString = 'Vandaag';
			break;	
		case "ru":	// Russian - Remember to use encoding windows-1251 , i.e. the <meta> tag. 
			var monthArray = ['ßíâàðü','Ôåâðàëü','Ìàðò','Àïðåëü','Ìàé','Èþíü','Èþëü','Àâãóñò','Ñåíòÿáðü','Îêòÿáðü','Íîÿáðü','Äåêàáðü'];
			var monthArrayShort = ['ÿíâ','ôåâ','ìàð','àïð','ìàé','èþí','èþë','àâã','ñåí','îêò','íîÿ','äåê'];
			var dayArrayShort = ['Ïí','Âò','Ñð','×ò','Ïò','Ñá','Âñ'];
			var weekString = '#';
			var todayString = 'Ñåãîäíÿ';
			break;		
		case "es": // Spanish 
			var monthArray = ['Enero','Febrero','Marzo','April','Mayo','Junio','Julio','Agosto','Septiembre','Octubre','Noviembre','Diciembre'];
			var monthArrayShort =['Ene','Feb','Mar','Abr','May','Jun','Jul','Ago','Sep','Oct','Nov','Dic'];
			var dayArrayShort = ['Lun','Mar','Mie','Jue','Vie','Sab','Dom'];
			var weekString = 'Semana';
			var todayString = 'Hoy es';
			break; 	
		case "pt-br": // Brazilian portuguese (pt-br) 
			var monthArray = ['Janeiro','Fevereiro','Mar&ccedil;o','Abril','Maio','Junho','Julho','Agosto','Setembro','Outubro','Novembro','Dezembro'];
			var monthArrayShort = ['Jan','Fev','Mar','Abr','Mai','Jun','Jul','Ago','Set','Out','Nov','Dez'];
			var dayArrayShort = ['Seg','Ter','Qua','Qui','Sex','S&aacute;b','Dom'];
			var weekString = 'Sem.';
			var todayString = 'Hoje &eacute;';
			break;
		case "da": //Danish
			var monthArray = ['januar','februar','marts','april','maj','juni','juli','august','september','oktober','november','december'];
			var monthArrayShort = ['jan','feb','mar','apr','maj','jun','jul','aug','sep','okt','nov','dec'];
			var dayArrayShort = ['man','tirs','ons','tors','fre','lør','søn']
			var weekString = 'Uge';
			var todayString = 'I dag er den';
			break;	
		case "hu":	//Hungarian  - Remember to use UTF-8 encoding, i.e. the <meta> tag 
			var monthArray = ['JanuÃ¡r','FebruÃ¡r','MÃ¡rcius','Ã?prilis','MÃ¡jus','JÃºnius','JÃºlius','Augusztus','Szeptember','OktÃ³ber','November','December'];
			var monthArrayShort = ['Jan','Feb','MÃ¡rc','Ã?pr','MÃ¡j','JÃºn','JÃºl','Aug','Szep','Okt','Nov','Dec'];
			var dayArrayShort = ['HÃ©','Ke','Sze','Cs','PÃ©','Szo','Vas'];
			var weekString = 'HÃ©t';
			var todayString = 'Mai nap';	
			break;
		
		case "se":	// Svenska 
			var monthArray = ['Januari','Februari','Mars','April','Maj','Juni','juli','Augusti','September','Oktober','November','December'];
			var monthArrayShort = ['Jan','Feb','Mar','Apr','Maj','Jun','Jul','Aug','Sep','Okt','Nov','Dec'];
			var dayArrayShort = ['Må','Ti','On','To','Fr','Lö','Sö'];
			var weekString = 'Vecka';
			var todayString = 'Idag';
			break;
	}
}
*/