TargetDate = "10/07/2009 12:00 AM";
BackColor = "palegreen";
ForeColor = "navy";
CountActive = true;
CountStepper = -1;
LeadingZero = true;
DisplayFormat = "<span id='days'>&nbsp;&nbsp;&nbsp;&nbsp;<br /><span class='timerlabels'></span></span><span id='hours'>%%H%%<br /><span class='timerlabels'>Hours</span></span> <span id='minutes'>%%M%%<br /><span class='timerlabels'>Minutes</span></span> <span id='seconds'>%%S%%<br /><span class='timerlabels'>Seconds</span></span>";
FinishMessage = "It is finally here!";
CountStepper = Math.ceil(CountStepper);
if (CountStepper == 0)
    CountActive = false;
var SetTimeOutPeriod = (Math.abs(CountStepper) - 1) * 1000 + 990;
    
function CountDown() {
    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;
    if (typeof (LeadingZero) == "undefined")
        LeadingZero = true;

    var cntd = document.getElementById("cntdwn");
    var dthen = new Date(TargetDate);
    var dnow = new Date();
    if (CountStepper > 0)
        ddiff = new Date(dnow - dthen);
    else
        ddiff = new Date(dthen - dnow);
    gsecs = Math.floor(ddiff.valueOf() / 1000);
    CountBack(gsecs);
}

function calcage(secs, num1, num2) {
    s = ((Math.floor(secs / num1)) % num2).toString();
    if (LeadingZero && s.length < 2)
        s = "0" + s;
    return "<b>" + s + "</b>";
}

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);
}
