
var unitmonths="months";
var unitmonth="month";
var unitdays="days";
var unitday="day";
var unithours="hours";
var unithour="hour";
var unitminutes="minutes";
var unitminute="minute";
var unitseconds="seconds";
var unitsecond="second";
var unitand="and";
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=BuildTimeMsg(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&8)!=0){if(secdiff<0){timemsg=BuildDisplay(displaycode,-dmon,-dday,-dhour,-dmin,-dsec,-secdiff);}
else{timemsg=BuildDisplay(displaycode,dmon,dday,dhour,dmin,dsec,secdiff);};timemsg=BuildTimeMsg(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=BuildTimeMsg(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)){if(iMonths==1)smsg=smsg+iMonths+" "+unitmonth;else smsg=smsg+iMonths+" "+unitmonths;displayed=1;};
if(((iDisplay&2)!=0)&&(iDays>0)){if(smsg.length>0){smsg=smsg+", ";};
if(iDays==1)smsg=smsg+iDays+" "+unitday;else smsg=smsg+iDays+" "+unitdays;displayed+=1;};
if(((iDisplay&4)!=0)&&((iDays>0)||(iHours>0))){if(smsg.length>0){smsg=smsg+", ";};if(iHours==1)smsg=smsg+iHours+" "+unithour;else smsg=smsg+iHours+" "+unithours;displayed+=1;};if(((iDisplay&8)!=0)&&((iDays>0)||(iHours>0)||(iMins>0))){if(smsg.length>0){smsg=smsg+", ";};if(iMins==1)smsg=smsg+iMins+" "+unitminute;else smsg=smsg+iMins+" "+unitminutes;displayed+=1;};if((iDisplay&16)!=0){if(displayed>1){smsg=smsg+",";};if(smsg.length>0){smsg=smsg+" "+unitand+" ";};if(iSecs==1)smsg=smsg+iSecs+" "+unitsecond;else 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 BuildTimeMsg(TimeMsg,UserMsg){var iptr;var result;var pattern="[TimeMsg]";iptr=UserMsg.indexOf(pattern);if(iptr>0){result=UserMsg.substring(0,iptr-1);result+=" "+TimeMsg;iptr+=pattern.length;result+=" "+UserMsg.substring(iptr,UserMsg.length);}else{result=TimeMsg+" "+UserMsg;};return result;};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;



