var unitmonths="mois";
var unitdays="jour(s)";
var unithours="heure(s)";
var unitminutes="minute(s)";
var unitand="et";
var unitseconds="seconde(s)";
var millisecperhour=60*60*1000;
var millisecperday=24*millisecperhour;
var millisecpermon=30*millisecperday;

function countdown(){if(DisplayEvents.length==0){setTimeout("countdown()",1000);return;};

var smsg='';
var timemsg='';
var datediff=0;
var dmon=0;
var dday=0;var dleft=0;var dhour=0;var hleft=0;var dmin=0;var	mleft=0;var dsec=0;var secdiff=0;var displaycode=0;var processcode=0;var during=0;for(var iEvent=0;iEvent<DisplayEvents.length;iEvent++){displaycode=DisplayEvents[iEvent].DisplayCode;processcode=DisplayEvents[iEvent].ProcessCode;var today=new Date();datediff=DisplayEvents[iEvent].EventDate-today;if((processcode&8)!=0){secdiff=Math.floor(datediff/1000);if(secdiff<=0&&secdiff>-DisplayEvents[iEvent].Duration){datediff=(DisplayEvents[iEvent].EventDate-today)+(DisplayEvents[iEvent].Duration*1000);during=1;}}if(datediff>0){secdiff=Math.floor(datediff/1000);if((displaycode&1)!=0){dmon=Math.floor(datediff/millisecpermon);datediff=Math.floor(datediff%millisecpermon);}dday=Math.floor(datediff/millisecperday);dleft=Math.floor(datediff%millisecperday);dhour=Math.floor(dleft/millisecperhour);hleft=Math.floor(dleft%millisecperhour);dmin=Math.floor(hleft/60000);mleft=Math.floor(hleft%60000);dsec=Math.floor(mleft/1000);}else{secdiff=Math.ceil(datediff/1000);if(Math.abs(secdiff)>DisplayEvents[iEvent].Duration){datediff=datediff+(DisplayEvents[iEvent].Duration*1000);};if((displaycode&1)!=0){dmon=Math.floor(datediff/millisecpermon);datediff=Math.ceil(datediff%millisecpermon);}dday=Math.ceil(datediff/millisecperday);dleft=Math.ceil(datediff%millisecperday);dhour=Math.ceil(dleft/millisecperhour);hleft=Math.ceil(dleft%millisecperhour);dmin=Math.ceil(hleft/60000);mleft=Math.ceil(hleft%60000);dsec=Math.ceil(mleft/1000);}if((dday==0)&&(displaycode<4))displaycode+=4;if((dday==0)&&(dhour==0)&&(displaycode<8))displaycode+=8;if((dday==0)&&(dhour==0)&&(dmin==0)&&(displaycode<16))displaycode+=16;if(secdiff<=-DisplayEvents[iEvent].Duration){timemsg=DisplayEvents[iEvent].AfterMsg;if((processcode&1)!=0){if(DisplayEvents[iEvent].Clear==0){DisplayEvents[iEvent].Span.innerHTML='';DisplayEvents[iEvent].Clear=1;}return;}if((processcode&2)!=0){timemsg=BuildDisplay(displaycode,-dmon,-dday,-dhour,-dmin,-dsec,-secdiff);timemsg=timemsg+" "+DisplayEvents[iEvent].AfterMsg;}if((processcode&4)!=0){timemsg='<font color=red>'+timemsg+'</font>';}}else if(during==1||(secdiff<=0&&secdiff>-DisplayEvents[iEvent].Duration)){if((processcode&2)!=0){if(secdiff<0){timemsg=BuildDisplay(displaycode,-dmon,-dday,-dhour,-dmin,-dsec,-secdiff);}else{timemsg=BuildDisplay(displaycode,dmon,dday,dhour,dmin,dsec,secdiff);}timemsg=timemsg+" "+DisplayEvents[iEvent].DuringMsg;}else{timemsg=DisplayEvents[iEvent].DuringMsg+' '+RepeatStr('.',(Math.abs(secdiff)%4));}}else{timemsg=BuildDisplay(displaycode,dmon,dday,dhour,dmin,dsec,-secdiff);timemsg=timemsg+" "+DisplayEvents[iEvent].BeforeMsg;}DisplayEvents[iEvent].Span.innerHTML=DisplayEvents[iEvent].PrefixTags+timemsg+DisplayEvents[iEvent].SuffixTags;}setTimeout("countdown()",1000);}function BuildDisplay(iDisplay,iMonths,iDays,iHours,iMins,iSecs,iTotalSecs){var smsg;displayed=0;smsg='';iTotalSecs=Math.abs(iTotalSecs);if(((iDisplay&1)!=0)&&(iMonths>0)){smsg=smsg+iMonths+" "+unitmonths;displayed=1;}if(((iDisplay&2)!=0)&&(iDays>0)){if(smsg.length>0){smsg=smsg+", ";}smsg=smsg+iDays+" "+unitdays;displayed+=1;}if(((iDisplay&4)!=0)&&((iDays>0)||(iHours>0))){if(smsg.length>0){smsg=smsg+", ";}smsg=smsg+iHours+" "+unithours;displayed+=1;}if(((iDisplay&8)!=0)&&((iDays>0)||(iHours>0)||(iMins>0))){if(smsg.length>0){smsg=smsg+", ";}smsg=smsg+iMins+" "+unitminutes;displayed+=1;}if((iDisplay&16)!=0){if(displayed>1){smsg=smsg+",";}if(smsg.length>0){smsg=smsg+" "+unitand+" ";}smsg=smsg+iSecs+" "+unitseconds;displayed+=1;}if((iDisplay&32)!=0){smsg=iTotalSecs+" "+unitseconds;}if((iDisplay&64)!=0){itemp=Math.floor(iTotalSecs/60);smsg=itemp+" "+unitminutes;}if((iDisplay&128)!=0){itemp=Math.floor(iTotalSecs/3600);smsg=itemp+" "+unithours;}if((iDisplay&256)!=0){itemp=Math.floor(iTotalSecs/86400);smsg=itemp+" "+unitdays;}return smsg;}function RepeatStr(thestr,itimes){var result='';for(var i=0;i<itimes;i++){result+=thestr;}return result;}function start_countdown(){countdown();}function DisplayEvent(SpanName,EventDate,Duration,DisplayCode,ProcessCode,PrefixTags,SuffixTags,BeforeMsg,DuringMsg,AfterMsg){this.Span=document.getElementById(SpanName);this.Clear=0;this.EventDate=EventDate;this.Duration=Duration;this.DisplayCode=DisplayCode;this.ProcessCode=ProcessCode;this.PrefixTags=PrefixTags;this.SuffixTags=SuffixTags;this.BeforeMsg=BeforeMsg;this.DuringMsg=DuringMsg;this.AfterMsg=AfterMsg;}function DefineEvent(theSpan,theYear,theMonth,theDay,theHour,theMinute,theSecond,theDuration,theDisplay,theProcess,thePrefix,theSuffix,theBeforeMsg,theDuringMsg,theAfterMsg){var eventdate=new Date();var eventyear=0;var eventmonth=0;var eventday=0;var eventhour=0;var eventminute=0;var eventsecond=0;var eventduration=0;var prefixtags="";var suffixtags="";var beforemsg="";var aftermsg="";var duringmsg="";eventyear=theYear;eventmonth=theMonth;eventday=theDay;eventhour=theHour;eventminute=theMinute;eventsecond=theSecond;eventduration=theDuration;displaycode=theDisplay;processcode=theProcess;prefixtags=TagFix(thePrefix);suffixtags=TagFix(theSuffix);beforemsg=TagFix(theBeforeMsg);duringmsg=TagFix(theDuringMsg);aftermsg=TagFix(theAfterMsg);if((processcode&1024)!=0){eventdate.setUTCFullYear(eventyear,eventmonth-1,eventday);eventdate.setUTCHours(eventhour,eventminute,eventsecond,0);}else{eventdate.setFullYear(eventyear,eventmonth-1,eventday);eventdate.setHours(eventhour,eventminute,eventsecond,0);}DisplayEvents[DisplayEvents.length]=new DisplayEvent(theSpan,eventdate,theDuration,theDisplay,theProcess,prefixtags,suffixtags,beforemsg,duringmsg,aftermsg);}function TagFix(intag){outtag=intag;outtag=outtag.replace(/&lt;/gi,"<");outtag=outtag.replace(/&gt;/gi,">");outtag=outtag.replace(/&quot;/gi,'"');outtag=outtag.replace(/&amp;/gi,"&");return 	outtag;};var DisplayEvents=new Array();window.onload=start_countdown;

