
function onclickRadioText( idCheckBox ) {
	//Faire un switch de l'état du radio
	monInput = document.getElementById( idCheckBox );
	if ( !monInput.checked ) {
		monInput.checked = !monInput.checked;
	}
}
function RadioText( nomInputCheck, valeur, texteAfficher, onCheck, fnctOnChange ) {
	//'<input name="DURATION_JN" type="radio" value="J" text="Jour" />'
	if ( !fnctOnChange ) { fnctOnChange = ""; }
	
	//Créer le checkbox
	if (onCheck) {
		document.write( '<input type="radio" name="'+nomInputCheck+'" id="'+nomInputCheck+valeur+'_Radio" value="'+valeur+'" checked="checked" onchange="'+fnctOnChange+'" />' );
	} else {
		document.write( '<input type="radio" name="'+nomInputCheck+'" id="'+nomInputCheck+valeur+'_Radio" value="'+valeur+'" onchange="'+fnctOnChange+'" />' );
	}
	//Créer le spanTexte
	document.write( '<span class="texteOnClick" onclick="javascript:onclickRadioText(\''+nomInputCheck+valeur+'_Radio\');'+fnctOnChange+'" >'+texteAfficher+'</span>' );
}

function onclickCheckBoxText( idCheckBox ) {
	//Faire un switch de l'état du check box
	monInput = document.getElementById( idCheckBox );
	if ( !monInput.disabled ) {
		monInput.checked = !monInput.checked;
	}
}
function CheckBoxTextInline( nomInputCheck, texteAfficher, onCheck, fnctOnChange ) {
	if ( !fnctOnChange ) { fnctOnChange = ""; }
	
	var cumulTextCheckBox = "";
	//Créer le checkbox
	if (onCheck) {
		cumulTextCheckBox += '<input type="checkbox" name="'+nomInputCheck+'" id="'+nomInputCheck+'_CBT" checked="checked" onchange="'+fnctOnChange+'" />';
	} else {
		cumulTextCheckBox += '<input type="checkbox" name="'+nomInputCheck+'" id="'+nomInputCheck+'_CBT" onchange="'+fnctOnChange+'" />';
	}
	//Créer le spanTexte
	cumulTextCheckBox += '<span class="texteOnClick" onclick="javascript:onclickCheckBoxText(\''+nomInputCheck+'_CBT\');'+fnctOnChange+'" >'+texteAfficher+'</span>';
	return cumulTextCheckBox;
}
function CheckBoxText( nomInputCheck, texteAfficher, onCheck, fnctOnChange ) {
	if ( !fnctOnChange ) { fnctOnChange = ""; }
	
	//Créer le checkbox
	if (onCheck) {
		document.write( '<input type="checkbox" name="'+nomInputCheck+'" id="'+nomInputCheck+'_CBT" checked="checked" onchange="'+fnctOnChange+'" />' );
	} else {
		document.write( '<input type="checkbox" name="'+nomInputCheck+'" id="'+nomInputCheck+'_CBT" onchange="'+fnctOnChange+'" />' );
	}
	//Créer le spanTexte
	document.write( '<span class="texteOnClick" onclick="javascript:onclickCheckBoxText(\''+nomInputCheck+'_CBT\');'+fnctOnChange+'" >'+texteAfficher+'</span>' );
}

/////////////////////////////////////////////////////////////////////////////////////////////
//     insertDateInputJLT

var DateInputJLT_ListeMois_en = new Array("january","february","march","april","may","june","july","august","september","october","november","december" );
var DateInputJLT_ListeMois_fr = new Array("janvier","f&eacute;vrier","mars","avril","mai","juin","juillet","ao&ucirc;t","septembre","octobre","novembre","d&eacute;cembre" );
//                                          31           28-29          31    30      31    30       31         31            30          31        30           31    

function onchangeCheckBoxDateInconnue( dateID ) {
			   if ( document.getElementById( dateID+"_Inconnue_CBT" ).checked ) {
							   document.getElementById( "spanDateInput_"+dateID ).style.visibility = "hidden";
			   } else {
							   document.getElementById( "spanDateInput_"+dateID ).style.visibility = "inherit";
			   }
			   
}


function insertDateInputJLT( insertID, nameID, defaultDate, langue, mode ) {
			   var inconnue = false;
			   var cumulTexte = "";
			   var notDefault = false;
			   
			   //Si pas de defaultDate
			   if ( !defaultDate || defaultDate == "") {
							   notDefault = true;
							   if ( mode != "not null" ) {
											   inconnue = true;
							   }
							   defaultDate = getStrDateYYYYMMDD();
			   } else {
							   cumulTexte += '<input name="'+nameID+'_defaultDate" id="'+nameID+'_defaultDate" type="hidden" value="'+defaultDate+'" />';
			   }
			   
			   //Si YYYY-MM-DD hh:mm:ss (ex.: datetime de mysql)
			   var patt=/\d{4}-\d{2}-\d{2} \d{2}:\d{2}:\d{2}/i;
			   if ( patt.test(defaultDate) ) {
							   defaultDate = defaultDate.substr(0,4) + defaultDate.substr(5,2) + defaultDate.substr(8,2);
			   }
			   
			   //Hidden
			   cumulTexte += '<input name="'+nameID+'" id="'+nameID+'" type="hidden" value="'+defaultDate+'" />';
			   
			   
			   var DateInputJLT_ListeMois = DateInputJLT_ListeMois_fr;
			   if ( langue && langue == "en" ){DateInputJLT_ListeMois = DateInputJLT_ListeMois_en;}
			   
			   var annee = parseInt(defaultDate.substr(0,4).replace(/^0+/,"") );
			   var mois = parseInt(defaultDate.substr(4,2).replace(/^0+/,"") );
			   var jour = parseInt(defaultDate.substr(6,2).replace(/^0+/,"") );
			   
			   
			   
			   //Inconnue
			   if ( mode != "not null" ) {
							   if ( !mode || mode == "" ) {
											   if (notDefault) {
															  mode = "inconnue";
															  if ( langue && langue == "en" ){mode = "unknown";}
											   } else {
															  mode = "effacer";
															  if ( langue && langue == "en" ){mode = "erase";}
											   }
							   }
							   cumulTexte += CheckBoxTextInline(nameID+"_Inconnue",mode,inconnue, "onchangeCheckBoxDateInconnue('"+nameID+"')") + " ";
			   }
			   
			   //Jour
			   var nbJourMois = DateInputJLT_nbJourInMois( mois, annee );
			   if (inconnue) {
							   cumulTexte += '<span id="spanDateInput_'+nameID+'" style="visibility:hidden;" >';
			   } else {
							   cumulTexte += '<span id="spanDateInput_'+nameID+'" style="visibility:inherit;" >';
			   }
			   cumulTexte += '<select id="DateInputSelectJour_'+nameID+'" onchange="DateInputJLT_onchangeJour(\''+nameID+'\')" >';
			   for ( i = 1; i <= nbJourMois ; i++) {
							   cumulTexte += '<option value="'+i+'">'+i+'</option>';
			   }
			   cumulTexte += '</select>';
			   
			   //Mois
			   cumulTexte += '<select id="DateInputSelectMois_'+nameID+'" onchange="DateInputJLT_onchangeMois(\''+nameID+'\')" >';
			   for ( i = 1; i <= DateInputJLT_ListeMois.length ; i++) {
							   cumulTexte += '<option value="'+i+'">'+DateInputJLT_ListeMois[i-1]+'</option>';
			   }
			   cumulTexte += '</select>';
			   
			   //Année
			   cumulTexte += '<input id="DateInputSelectAnnee_'+nameID+'" type="text" size="4" maxlength="4" value="'+annee+'" onchange="DateInputJLT_onchangeAnnee(\''+nameID+'\')" />';
			   cumulTexte += '</span>';
			   
			   //Set
			   document.getElementById(insertID).innerHTML = cumulTexte;
			   document.getElementById('DateInputSelectMois_'+nameID).value = mois;
			   document.getElementById('DateInputSelectJour_'+nameID).value = jour;
			   
			   return cumulTexte;
}

function DateInputJLT_setInputDate( idObjet, newDate ) {
			   var annee = parseInt(newDate.substr(0,4).replace(/^0+/,"") );
			   var mois = parseInt(newDate.substr(4,2).replace(/^0+/,"") );
			   var jour = parseInt(newDate.substr(6,2).replace(/^0+/,"") );
			   
			   document.getElementById('DateInputSelectAnnee_'+idObjet).value = annee;
			   DateInputJLT_onchangeAnnee(idObjet);
			   document.getElementById('DateInputSelectMois_'+idObjet).value = mois;
			   DateInputJLT_onchangeMois(idObjet);
			   document.getElementById('DateInputSelectJour_'+idObjet).value = jour;
			   DateInputJLT_onchangeJour(idObjet);
}

function DateInputJLT_updateInputHidden( idObjet ) {
			   var cumulText = convertIntToStr(document.getElementById('DateInputSelectAnnee_'+idObjet).value, 4);
			   cumulText += convertIntToStr(document.getElementById('DateInputSelectMois_'+idObjet).value, 2);
			   cumulText += convertIntToStr(document.getElementById('DateInputSelectJour_'+idObjet).value, 2);
			   document.getElementById(idObjet).value = cumulText;
}

function DateInputJLT_nbJourInMois( mois, annee ) {
			   switch(mois) {
							   case 1:
							   case 3:
							   case 5:
							   case 7:
							   case 8:
							   case 10:
							   case 12:
											   return 31;
											   break;
							   case 4:
							   case 6:
							   case 9:
							   case 11:
											   return 30;
							   case 2:
											   if ( annee % 400 == 0 ) {
															  return 29
											   } else if ( annee % 4 == 0 && annee % 100 != 0) {
															  return 29
											   } else {
															  return 28             
											   }
			   }
}

function DateInputJLT_onchangeAnnee( idObjet ) {
			   valeurAnnee = document.getElementById('DateInputSelectAnnee_'+idObjet).value;
			   valeurAnnee = valeurAnnee.replace(/[^0123456789]/g,"");
			   if (valeurAnnee == "") { valeurAnnee = "0000";}
			   document.getElementById('DateInputSelectAnnee_'+idObjet).value = valeurAnnee;
			   DateInputJLT_onchangeMois(idObjet);
			   //DateInputJLT_updateInputHidden(idObjet);
}
function DateInputJLT_onchangeMois( idObjet ) {
			   var selectJour = document.getElementById('DateInputSelectJour_'+idObjet);
			   var jour = parseInt(selectJour.value);
			   var mois = parseInt(document.getElementById('DateInputSelectMois_'+idObjet).value);
			   var annee = parseInt(document.getElementById('DateInputSelectAnnee_'+idObjet).value);
			   
			   //Reconstruire le select jour
			   while (selectJour.options.length > 0) {
							   selectJour.remove(0);
			   }
			   var nbJourMois = DateInputJLT_nbJourInMois( mois, annee );
			   for ( i = 1; i <= nbJourMois ; i++) {
							   optionTemp = document.createElement("option");
							   optionTemp.text = i;
							   optionTemp.value = i;
							   if ( i == jour ) {
											   optionTemp.selected=true;
							   }
							   try {
											   selectJour.add(optionTemp,selectJour.options[null]);
							   } catch (e) {
											   selectJour.add(optionTemp,null);
							   }
			   }
			   
			   DateInputJLT_updateInputHidden(idObjet);
}
function DateInputJLT_onchangeJour( idObjet ) {
			   DateInputJLT_updateInputHidden(idObjet);
}

function getStrDateYYYYMMDD() {
			   var dateTemp = new Date();
			   var cumulText = convertIntToStr(dateTemp.getFullYear(), 4);
			   cumulText += convertIntToStr(dateTemp.getMonth()+1, 2);
			   cumulText += convertIntToStr(dateTemp.getDate(), 2);
			   
			   return cumulText;
}
function convertIntToStr( nombre, largeur ) {
			   var strTemp = nombre.toString();
			   while (strTemp.length < largeur) {
							   strTemp = "0" + strTemp;
			   }
			   return strTemp
}
