﻿/* 	Realtime Countdown v1.1
*	(C) 2006 Nathan Bolender
*	www.nathanbolender.com
*/

var version = '1.1.ARIS';

function countdown(elementString, dateString, name) { // date in format "December 25, 2005 00:00:00 GMT-500"
    /////////////////////////////////////////
    //	usage:
    //	countdown(str element, str date [, str name]])
    //	element is the element that will contain the countdown
    //	date is the countdown (or countup) date in this standard form:
    //		December 25, 2005 00:00:00 GMT-500
    if (name == null) name = '0';
    var clock = document.getElementById(elementString);
    var eventdate = new Date(dateString); // in format "January 1, 2005 00:00:00 GMT"
    now = new Date();
    nowtime = now.getTime(); // now in milliseconds
    eventtime = eventdate.getTime(); // event in milliseconds

    var eventhour = eventdate.getHours();
    var eventminute = eventdate.getMinutes();
    var eventsecond = eventdate.getSeconds();
    var eventmonth = eventdate.getMonth() + 1;
    var eventday = eventdate.getDate();
    var eventyear = eventdate.getFullYear();

    timeleft = Math.round((eventtime - nowtime) / 1000); // timeleft in seconds

    var passed = 0;
    if (timeleft < 0) { // if event has passed
        timeleft = Math.abs(timeleft);
        passed = 1;
    }

    if (timeleft != 0) {
        // Let's get a whole bunch of values
        days = Math.floor(((timeleft % 31556926)) / 86400);
        hours = Math.floor((((timeleft % 31556926) % 2629744) % 86400) / 3600);
        minutes = Math.floor(((((timeleft % 31556926) % 2629744) % 86400) % 3600) / 60);
        seconds = Math.floor(((((timeleft % 31556926) % 2629744) % 86400) % 3600) % 60);
    }

    // Now lets build a response to print
    var togo = ''; // set up our variable

    if (timeleft != 0) {

        if (days > 0) {
            togo += days + ' day';
            if (days > 1) togo += 's';
            if ((minutes != 0) || (seconds != 0) || (hours != 0)) togo += ' ';
        }

        if (hours > 0) {
            togo += hours + ' hr';
            if ((minutes != 0) || (seconds != 0)) togo += ' ';
        }

        if (minutes > 0) {
            togo += minutes + ' min';
            if (seconds != 0) togo += ' ';
        }

        if (seconds > 0) {
            togo += seconds + ' sec';
        }

        if (passed != 1) {
            togo += ' \'til ';
        } else {
            togo += ' since ';
        }

        togo += name;

        var expld = togo.split(', ');
        // EXAMPLE:
        // 0 => 5 years
        // 1 => 5 months
        // 2 => 5 days
        // 3 => 5 hours
        // 4 => 5 minutes
        // 5 => 5 seconds

        var exlast = expld.length - 1;
        var todo = '';
        var i;

        for (i = 0; i < expld.length; i++) {
            value = expld[i];
            todo += value;
            if ((i != exlast) && (expld.length != 2)) todo += ', ';
            if ((expld.length == 2) && (i != exlast)) todo += ' ';
            if (i == (exlast - 1)) todo += 'and ';
            if ((i == exlast) && (passed == 1)) todo += ' ago';
            if (i == exlast) todo;
        }


    } else {
        var todo = togo + ' Now!';
    }

    // Now lets print it
    clock.innerHTML = todo;

    setTimeout('countdown(\'' + elementString + '\', \'' + dateString + '\', "' + name + '");', 1000); // re-execute the function in 1 second
}