
// script:  http://scripts.franciscocharrua.com/countdown-clock.php
// date:    http://en.wikipedia.org/wiki/Doomsday_argument#Singularity

countdown( 2026, 11, 13, 0, 0, 2 );

function countdown(year, month, day, hour, minute, format)
         {
         Today = new Date();
         //Todays_Year = Today.getYear() - 2000;
         //Todays_Month = Today.getMonth() + 1;

         //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();
         Todays_Date = Today.getTime();
         Target_Date = (new Date(year, month, day, hour, minute, 00)).getTime();

         //Find their difference, and convert that into seconds.
         Time_Left = Math.round((Target_Date - Todays_Date) / 1000);

         var oCD = document.getElementById("countdown");

         switch(format)
               {
               case 0:
                    //The simplest way to display the time left.
					if(Time_Left < 0)
						Time_Left = 0;
                    oCD.innerHTML = Time_Left + ' seconds';
                    break;
               case 1:
                    //More datailed.
					if(Time_Left < 0)
						Time_Left = 0;
                    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 ='';

                    oCD.innerHTML = days + ' day' + dps + ' ';
                    oCD.innerHTML += hours + ' hour' + hps + ' ';
                    oCD.innerHTML += minutes + ' minute' + mps + ' and ';
                    oCD.innerHTML += seconds + ' second' + sps;
                    break;
               case 2:
                    //More datailed.
					var prefix = (Time_Left < 0) ? "T + " : "T - ";
                    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 = '0'; mps = '0'; sps = '0';

                    if(days == 1) dps ='';
                    if(hours > 9) hps ='';
                    if(minutes > 9) mps ='';
                    if(seconds > 9) sps ='';

                    oCD.innerHTML = prefix + days + ' day' + dps + ' ';
                    oCD.innerHTML += hps + hours + ':';
                    oCD.innerHTML += mps + minutes + ':';
                    oCD.innerHTML += sps + seconds + '';
                    break;
               default:
                    oCD.innerHTML = Time_Left + ' seconds';
               }

         //Recursive call, keeps the clock ticking.
         setTimeout('countdown(' + year + ',' + month + ',' + day + ',' + hour + ',' + minute + ',' + format + ');', 1000);
         }