/************************************************************************
 *    NAME: tuesday.js							*
 *  AUTHOR: Kevin Cole [kjcole@gri.gallaudet.edu]			*
 *   WHERE: Gallaudet Research Institute, Washington, DC 20002		*
 * LASTMOD: 2003.05.08							*
 * PURPOSE: This figues out what next Tuesday's date is...		*
 *   USAGE: <script language="JavaScript"				*
 *		    type="text/javascript"				*
 *		    src="tuesday">					*
 *	    </script>							*
 *									*
 * Copyright (c) 2003 Kevin Cole [kjcole@gri.gallaudet.edu]		*
 ************************************************************************/

var leap  =  0;						// Leap Year? 0=N, 1=Y
var SPM   = 60;						// Seconds Per Minute
var MPH   = 60;						// Minutes Per Hour
var HPD   = 24;						// Hours   Per Day
var DPW   =  7;						// Days    Per Week
var DPM   = [31,28,31,30,31,30,31,31,30,31,30,31];	// Days    Per Month
var mmm   = ["Jan","Feb","Mar","Apr","May","Jun",
	     "Jul","Aug","Sep","Oct","Nov","Dec"];
var month = ["January","February","March","April","May","June","July",
	     "August","September","October","November","December"];
var www   = ["Mon","Tue","Wed","Thu","Fri","Sat","Sun"];
var week  = ["Monday","Tuesday","Wednesday","Thursday",
	     "Friday","Saturday","Sunday"];
var Tue   = 2;						// Tues is 2nd day
 
/*******************************************************************
 * (Several of the above lines might better be thought of as a     *
 * class named "Months" with attributes/characteristics/properties *
 * DPM,abbr,name)						   *
 *******************************************************************/

// get today's year, month, day of month (dom), and day of week (dow)
var meet = new Date();		// Today
var yyyy  = meet.getFullYear();	// Year
var mm    = meet.getMonth();	// Month       (1 thru 12)
var dd    = meet.getDate();	// Day         (1 thru 31)
var dow   = meet.getDay();	// Day of week (0 thru  6)

// Correct days in February for leap years
if ((yyyy %   4) == 0) leap = 1;	// Yes, it's a leap year
if ((yyyy % 100) == 0) leap = 0;	// No,  it's not
if ((yyyy % 200) == 0) leap = 1;	// Yes, it is!
DPM[1] = DPM[1] + leap;			// Fix February

/************************************************************************/

var til   = ((DPW + Tue) - dow) % DPW;		// Days til next Tue

var msecs = til * 1000 * SPM * MPH * HPD;	// milliseconds til next Tue
meet.setMilliseconds(msecs);	// Set meeting to next Tue
 
yyyy  = meet.getFullYear();	// Year
mm    = meet.getMonth();	// Month       (1 thru 12)
dd    = meet.getDate();		// Day         (1 thru 31)

document.write(month[mm]+" "+dd+", "+yyyy);
