/*http://blog.niap3d.com/jsSimpleDatePickr*/
function jsSimpleDatePickr(id){
var me = this;
me.dateDisp = new Date();
me.dateSel = new Date();
me.dayOrder = '1234560';
me.dayName = ['D', 'L', 'M', 'M', 'J', 'V', 'S'];
me.id = id;
me.funcDateClic = me.classTable = me.classTd = me.classSelection = '';
me.setDate = function(dateStr){
if(!dateStr) return 0;
var dateArr = dateStr.split('/');
if(isNaN(dateArr[0])) return 0;
today = new Date();
if(isNaN(dateArr[1])) dateArr[1] = today.getMonth();
else dateArr[1] = parseInt(dateArr[1], 10)-1;
if(isNaN(dateArr[2])) dateArr[2] = today.getFullYear();
else if(parseInt(dateArr[2], 10)<100) dateArr[2] = parseInt(dateArr[2], 10)+2000;
me.dateSel = new Date(dateArr[2], dateArr[1], dateArr[0]);
me.dateDisp = new Date(dateArr[2], dateArr[1], dateArr[0]);
}
me.setMonth = function(val){
var v = parseInt(val, 10);
if(val.charAt(0)=='+' || val.charAt(0)=='-') v = me.dateDisp.getMonth()+v;
me.dateDisp.setMonth(v);
}
me.setYear = function(val){
var v = parseInt(val, 10);
if(val.charAt(0)=='+' || val.charAt(0)=='-') v = me.dateDisp.getFullYear()+v;
me.dateDisp.setFullYear(v);
}
me.show = function(){
var nb = today = 0;
var month = me.dateDisp.getMonth();
var year = me.dateDisp.getFullYear();
if(month==me.dateSel.getMonth() && year==me.dateSel.getFullYear()) today = me.dateSel.getDate();
var h = '
';
for(var i=0; i<7; i++){
h += ''+me.dayName[me.dayOrder[i]]+' | ';
}
h += '
';
var d = new Date(year, month, 1);
for(nb=0; nb ';
}
d.setMonth(month+1, 0);
for(i=1; i<=d.getDate(); i++){
nb++;
if(nb>7){
nb = 1;
h += '
';
}
h += ''+i+' | ';
}
for(i=nb; i<7; i++){
h += ' | ';
}
h += '
';
document.getElementById(me.id).innerHTML = h
}
}
// calInit
//
// initialise
//
// divId = identifiant du bloc qui va contenir le calendrier
// btName = nom qui sera afcihé sur le bouton pour afficher / masquer la calendrier (facultatif)
// fieldId = identifiant du champ dans lequel sera affiché la date
// classTable = class du tableau
// classTable = class des
// classSel = class de la date sélectionné
//
function calInit(divId, btName, fieldId, classTable, classDay, classSel){
calDiv = document.getElementById(divId);
dateEl = document.getElementById(fieldId);
// vérifie l'existance de divId et fieldId
if(calDiv==undefined || dateEl==undefined) return 0;
var h = "";
// si btName est définit, un bouton est créer. En cliquant sur ce bouton le calendrier est affiché / masqué
// si btName n'est pas définit, on attache la fonction calToogle au champ de texte qui contiendra la date
if(btName=="") dateEl.addEventListener('click', function(){ calToogleFromField(fieldId); }, false);
else h = '';
// créer un bloc div qui contient des boutons de navigation, le titre et le bloc dans lequel sera affiché le calendrier
h += '';
// ajoute le code HTML
calDiv.innerHTML = h;
// initialise l'objet jsSimpleDatePickr
obj = new jsSimpleDatePickr('calendar'+jsSDPId);
obj.funcDateClic = 'calClick';
obj.classTable = classTable;
obj.classTd = classDay;
obj.classSelection = classSel;
// sauvegarde l'objet, le champ de texte rattaché et l'id envoyé à jsSimpleDatePickr
jsSDPObj[jsSDPId] = [obj, fieldId, 'calendar'+jsSDPId];
jsSDPId++;
return 1;
}
//
// affiche / masque le calendrier
//
function calToogle(id){
if (!cal_dispo) return;
if(jsSDPObj[id] == undefined) return 0;
var el = document.getElementById('calendarWrap'+id);
field = document.getElementById(jsSDPObj[id][1]);
if(el.style.display=="block"){
el.style.display = "none";
}else{
jsSDPObj[id][0].setDate(String(field.value));
jsSDPObj[id][0].show('calendar');
calShowTitle(id);
el.style.display = "block";
}
}
//
// affiche / masque le calendrier (clic depuis un champ de texte)
//
function calToogleFromField(fieldId){
for(var i = 0; i