
function calendar(cal)
{this.div=document.getElementById(cal);if(!this.div)
return false;this.Months=new Array('Janvier','F&eacute;vrier','Mars','Avril','Mai','Juin','Juillet','A&ocirc;ut','Septembre','Octobre','Novembre','D&eacute;cembre');this.Days=new Array('L','M','M','J','V','S','D');this.init=function(){this.divload=null;this.defaultLink=null;this.showMonthF='cal.showMonth';this.now=new Date();this.sack=null;};this.createDivLoad=function(){this.divload=document.createElement('div');this.divload.setAttribute('id','calload');this.divload.style.display='none';};this.load=function(msg){if(!this.divload)this.createDivLoad();this.div.appendChild(this.divload);this.divload.innerHTML=msg;var c=getCoordsOfElement(this.div);with(this.divload.style){top=c.y+'px';left=c.x+'px';width=this.div.offsetWidth+'px';height=this.div.offsetHeight+'px';display='';}};this.showMonth=function(date,xmldoc){var content='';var nbDays=this.getDaysOfMonth(date);content+='<div class="calmonth tcenter">';content+='<div class="fleft pointer" onclick="'+this.showMonthF+'(new Date('+date.getFullYear().toString()+', '+(date.getMonth()-1).toString()+'));">&lt;</div>';content+='<div class="fright pointer" onclick="'+this.showMonthF+'(new Date('+date.getFullYear().toString()+', '+(date.getMonth()+1).toString()+'));">&gt;</div>';content+=this.Months[date.getMonth()]+' '+date.getFullYear();content+='</div>';var firstday=new Date(date.getFullYear(),date.getMonth(),1).getDay()-1;if(firstday==-1)firstday=6;var i;for(i=0;i<7;i++)content+='<div class="caldays">'+this.Days[i]+'</div>';content+='<br class="clear">';for(i=0;i<firstday;i++)content+='<div class="calday"></div>';for(i=1;i<=nbDays;i++){if(firstday&&!((i+firstday-1)%7))content+='<br class="clear">';content+='<div class="calday';var tagName='y'+date.getFullYear()+'m'+date.getMonth()+'d'+i;if(this.sack&&xmldoc&&this.sack.XMLTagExists(xmldoc,tagName)){var e=this.sack.getXMLTagValue(xmldoc,tagName,'e');var t=this.sack.getXMLTagValue(xmldoc,tagName,'t');var l=this.sack.getXMLTagValue(xmldoc,tagName,'l');if(e)content+=' '+e;if(l)
content+=' pointer" onclick="window.location=\''+l+'\';';else if(this.defaultLink){l=date.getFullYear()+'-'+(date.getMonth()+1)+'-'+i;content+=' pointer" onclick="window.location=\''+this.defaultLink+l+'\';';}
if(t)content+='" onmouseover="showTooltip(this, \''+t.replace(/\'/g,"\\\'")+'\');" onmouseout="hideTooltip();';}else if(this.defaultLink){var t=date.getFullYear()+'-'+(date.getMonth()+1)+'-'+i;content+=' pointer" onclick="window.location=\''+this.defaultLink+t+'\';';}
content+='">'+i+'</div>';}
while((i+firstday-1)%7){content+='<div class="calday"></div>';i++;}
content+='<br class="clear">';if(this.divload)this.divload.style.display='none';this.div.innerHTML=content;};this.getDaysOfMonth=function(date){var year=date.getFullYear();var month=date.getMonth();var leapYear=[31,29,31,30,31,30,31,31,30,31,30,31];var nonLeapYear=[31,28,31,30,31,30,31,31,30,31,30,31]
if((year%4)==0){if(((year%100)==0)&&((year%400)!=0))return nonLeapYear[month];return leapYear[month];}
return nonLeapYear[month];};this.init();}