/* Author: Robert Hashemian http://www.hashemian.com/ You can use this code in any manner so long as the author's name, Web address and this disclaimer is kept intact. ******************************************************** Usage Sample: TargetDate = "6/11/2006 11:30 AM"; */ CurrentDate = "2/8/2010 20:46:41";TargetDate = "6/13/2010 11:30";DisplayFormat = "--- %%D%% Days, %%H%% Hours, %%M%% Minutes, %%S%% Seconds until the 2010 Dipsea Race ---";FinishMessage = "The 2010 Dipsea has already been run!"; nextyr = .2010 //CurrentDate = "6/10/2006 20:29:50"; BackColor = "#E0E0FF"; ForeColor = "maroon"; CountActive = true; CountStepper = -1; //DisplayFormat = "--- %%D%% Days, %%H%% Hours, %%M%% Minutes, %%S%% Seconds until the 2009 Dipsea Race ---"; //FinishMessage = "The 2008 Dipsea has already been run!"; function calcage(secs, num1, num2) { s = ((Math.floor(secs/num1))%num2).toString(); if (s.length < 2) s = "0" + s; return "" + s + ""; } function CountBack(secs) { if (secs < 0) { document.getElementById("cntdwn").innerHTML = FinishMessage; return; } DisplayStr = DisplayFormat.replace(/%%D%%/g, calcage(secs,86400,100000)); DisplayStr = DisplayStr.replace(/%%H%%/g, calcage(secs,3600,24)); DisplayStr = DisplayStr.replace(/%%M%%/g, calcage(secs,60,60)); DisplayStr = DisplayStr.replace(/%%S%%/g, calcage(secs,1,60)); document.getElementById("cntdwn").innerHTML = DisplayStr; if (CountActive) setTimeout("CountBack(" + (secs+CountStepper) + ")", SetTimeOutPeriod); } function putspan(backcolor, forecolor) { document.write(""); } if (typeof(BackColor)=="undefined") BackColor = "white"; if (typeof(ForeColor)=="undefined") ForeColor= "black"; if (typeof(TargetDate)=="undefined") TargetDate = "12/31/2020 5:00 AM"; if (typeof(DisplayFormat)=="undefined") DisplayFormat = "%%D%% Days, %%H%% Hours, %%M%% Minutes, %%S%% Seconds."; if (typeof(CountActive)=="undefined") CountActive = true; if (typeof(FinishMessage)=="undefined") FinishMessage = ""; if (typeof(CountStepper)!="number") CountStepper = -1; CountStepper = Math.ceil(CountStepper); if (CountStepper == 0) CountActive = false; var SetTimeOutPeriod = (Math.abs(CountStepper)-1)*1000 + 990; putspan(BackColor, ForeColor); var dthen = new Date(TargetDate); //var dnow = new Date(); var dnow = new Date(CurrentDate); if(CountStepper>0) ddiff = new Date(dnow-dthen); else ddiff = new Date(dthen-dnow); gsecs = Math.floor(ddiff.valueOf()/1000); CountBack(gsecs); //alert (dnow);