/*****************************************************************************
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);