﻿function countdown(year, month, day, hour, minute, format) {

    Today = new Date();
    Todays_Year = Today.getFullYear() - 2000;
    Todays_Month = Today.getMonth();

    //Convert both today's date and the target date into miliseconds.                           
    Todays_Date = (new Date(Todays_Year, Todays_Month, Today.getDate(),
                                 Today.getHours(), Today.getMinutes(), Today.getSeconds())).getTime();
    Target_Date = (new Date(year, month - 1, day, hour, minute, 00)).getTime();

    //Find their difference, and convert that into seconds.                  
    Time_Left = Math.round((Target_Date - Todays_Date) / 1000);

    if (Time_Left < 0)
        Time_Left = 0;

    switch (format) {
        case 1:
            //More detailed.
            days = Math.floor(Time_Left / (60 * 60 * 24));
            Time_Left %= (60 * 60 * 24);
            hours = Math.floor(Time_Left / (60 * 60));
            Time_Left %= (60 * 60);
            minutes = Math.floor(Time_Left / 60);
            Time_Left %= 60;
            seconds = Time_Left;

            dps = 's'; hps = 's'; mps = 's'; sps = 's';
            //ps is short for plural suffix.
            if (days == 1) dps = '';
            if (hours == 1) hps = '';
            if (minutes == 1) mps = '';
            if (seconds == 1) sps = '';

            var divCountDown = document.getElementById("countdown")

            if (divCountDown) {
                divCountDown.innerHTML = '<span class="timer">' + days + ' day' + dps + ' ' + '</span>';
                divCountDown.innerHTML += '<span class="timer">' + hours + ' hour' + hps + ' ' + '</span>';
                divCountDown.innerHTML += '<span class="timer">' + minutes + ' minute' + mps + ' ' + '</span>';
                divCountDown.innerHTML += '<span class="timer">' + seconds + ' second' + sps + '</span>';
            }

            break;
        default:
            document.all.countdown.innerHTML = Time_Left + ' seconds';
    }

    //Recursive call, keeps the clock ticking.
    setTimeout('countdown(' + year + ',' + month + ',' + day + ',' + hour + ',' + minute + ',' + format + ');', 1000);
}