//

var the_year = 2005

var birthday = new Date("January 20, "+the_year+" 00:00:00");

// Variables to display today's date.

var now = new Date();
var yr = now.getYear();
var mName = now.getMonth();
var dName = now.getDay();
var dayNr = ((now.getDate()<10) ? "0" : "")+ now.getDate();

//  Calculate difference  between dates - increment if  necessary.

function calculate()

   {

	var birthday = new Date("January 20, "+the_year+" 00:00:00");
   	var b_day = ((birthday.getDate()<10) ? "0" : "")+ birthday.getDate();
    msDifference = birthday.getTime() - now.getTime();

   // Kick out of function if today is the day.



   if( (birthday.getMonth()==now.getMonth()) && (b_day==dayNr) )
      {

      msDifference = 0;
      return;
      }



   // Increment designated date by 1 year if necessary.

   if( msDifference <= 0 )
      {

      the_year++;
      calculate();

      }

   else

      return;

   }

calculate();

// Calculate number of days left.



msPerDay = 24 * 60 * 60 * 1000 ; // Number of milliseconds per day
daysLeft = msDifference / msPerDay;
daysLeft = Math.floor(daysLeft);

// Array for today's date - day.



Day= new Array(7)
Day[0]="Sunday";
Day[1]="Monday";
Day[2]="Tuesday";
Day[3]="Wednesday";
Day[4]="Thursday";
Day[5]="Friday";
Day[6]="Saturday";



// Array for today's date - month.



Month= new Array(12)

Month[0]="January";
Month[1]="February";
Month[2]="March";
Month[3]="April";
Month[4]="May";
Month[5]="June";
Month[6]="July";
Month[7]="August";
Month[8]="September";
Month[9]="October";
Month[10]="November";
Month[11]="December";

// String to display current date.


if(now.getYear() <= 99)


   var todaysDate =(" " + Day[dName] + " " + Month[mName] + " " + dayNr + ", " + "19" + yr + "");


else



   var todaysDate =(" " + Day[dName] + " " + Month[mName] + " " + dayNr + ", " + yr + "");



// Alert to display years-months-weeks-days-hours-minutes-seconds left.



function completeBreakdown()



   {



   var now = new Date();

   var birthday = new Date("January 20, "+the_year+" 00:00:00")

   msDifference = birthday.getTime() - now.getTime();



   msPerWeek = 7 * 24 * 60 * 60 * 1000 ; // Number of milliseconds per week

   msPerDay = 24 * 60 * 60 * 1000 ; // Number of milliseconds per day

   msPerHour = 60 * 60 * 1000 ; // Number of milliseconds per hour



   msPerMin = 60 * 1000 ; // Number of milliseconds per minute



   weeks_Left = msDifference / msPerWeek;

   weeks_Left = Math.floor(weeks_Left);



   days_Left =msDifference - weeks_Left*msPerWeek;

   days_Left = days_Left / msPerDay;

   days_Left = Math.floor(days_Left);



   hours_Left =msDifference - ( (weeks_Left*msPerWeek) + (days_Left*msPerDay) );

   hours_Left = hours_Left / msPerHour;

   hours_Left = Math.floor(hours_Left);



   minutes_Left = msDifference - ( (weeks_Left*msPerWeek) + (days_Left*msPerDay) + (hours_Left*msPerHour) );

   minutes_Left = minutes_Left / msPerMin;

   minutes_Left = Math.floor(minutes_Left);



   seconds_Left = msDifference - ( (weeks_Left*msPerWeek) + (days_Left*msPerDay) + (hours_Left*msPerHour) + (minutes_Left*msPerMin) );

   seconds_Left = seconds_Left / 1000;

   seconds_Left = Math.floor(seconds_Left);



   // Used to display singular/plural in the alert message.



   if( weeks_Left >=2 )

      {

      var intro = "There are";

      var weeks = " wks, ";

      }

   else

      {

      var intro = "There is";

      var weeks = " wk, ";

     }

   if( days_Left >=2 )

      var days = " days, ";

   else

      var days = " day, ";

   if( hours_Left >=2 )

      var hours = " hrs, ";

   else

      var hours = " hr, ";

   if( minutes_Left >=2 )

      var minutes = " mins, ";

   else

      var minutes = " min, ";

   if( seconds_Left >=2 )

      var seconds = " secs ";

   else

      var seconds = " sec ";



   // String to display in alert message.



   var time_Left =weeks_Left + weeks + days_Left + days + hours_Left + hours + minutes_Left + minutes + " and " + seconds_Left + seconds;



   if(msDifference >= 1)



      { alert("\n" + intro + "\n\n" + time_Left + "\n\nuntil He is GONE!"); }



   else



      { alert("\nHey!, THE BUSH NIGHTMARE IS FINALLY OVER!!!"); }



   }



// Called by View Source button - displays text file of source.

function viewSource()

   {

   alert("\nA text file with source will be loaded to the full window.\n\nUse your browser BACK button to return to the examples.");
   top.window.location="js-ctdn3.txt";
   }


// Called by Brief Note button.

function viewNote()

   {

   alert("\nSame old thing, with a new twist... the designated date is automatically incremented by one year.\n\nPlay with your system date.");

   }

