/***************************************************************************** Countdown timer in javascript Copyright Aarron Shaughnessy 2006 ******************************************************************************/ var RaceDates = [ ["Brands (Indy)", "October, 2 2010 0:0:00"], ["Brands (Indy)", "October, 2 2010 0:0:00"], ["Brands (Indy)", "October, 3 2010 0:0:00"], ["Brands (Indy)", "October, 3 2010 0:0:00"] ]; function cdtime(container){ if (!document.getElementById || !document.getElementById(container)) return; this.container=document.getElementById(container); if(RaceDates.length <= 0) { this.timesup = true; } else { this.findnextrace(); } this.showresults(); } cdtime.prototype.showresults=function(){ this.currentTime = new Date(); var thisobj=this var timediff=(this.targetdate-this.currentTime)/1000 //difference btw target date and current date, in seconds if(this.timesup == true) { this.container.innerHTML="Awaiting new calender"; return; } if ((timediff<0)){ //if time is up if (timediff > -60/*-43200*/){ //if time is today this.container.innerHTML="Today at " + RaceDates[this.RaceIndex][0] + ""; } else { this.findnextrace(); } setTimeout(function(){thisobj.showresults()}, 1000); //update results every second return; } var oneMinute=60 //minute unit in seconds var oneHour=60*60 //hour unit in seconds var oneDay=60*60*24 //day unit in seconds var oneWeek=60*60*24*7 //week unit in seconds var weekfield=Math.floor(timediff/oneWeek); timediff -= weekfield * oneWeek; var dayfield=Math.floor(timediff/oneDay); timediff -= dayfield * oneDay; var hourfield=Math.floor(timediff/oneHour); timediff -= hourfield * oneHour; var minutefield=Math.floor(timediff/oneMinute); timediff -= minutefield * oneMinute; var secondfield=Math.floor(timediff); this.container.innerHTML="" + RaceDates[this.RaceIndex][0] + " on " + this.targetdate.toDateString() + " in "+weekfield+"wks "+dayfield+"days "+hourfield+"hrs "+minutefield+"min "+secondfield+"sec "; setTimeout(function(){thisobj.showresults()}, 1000) //update results every second } cdtime.prototype.findnextrace=function() { var currentTime = new Date(); this.timesup = false; this.targetdate = new Date(); this.RaceIndex = 0; this.targetdate.setTime(Date.parse(RaceDates[this.RaceIndex][1])); while (((this.targetdate-currentTime)/1000) < -60/*43200*/) { this.RaceIndex++; if (this.RaceIndex >= RaceDates.length) { this.timesup = true; return; } this.targetdate.setTime(Date.parse(RaceDates[this.RaceIndex][1])); } } function countdown_init(){ var futuredate=new cdtime("countdowncontainer"); } addLoadEvent(countdown_init);