<!-- Begin

var dayName  = new Array("Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday")
var monLName = new Array("January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December")
var monSName = new Array("Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec");
var monDays  = new Array(31,28,31,30,31,30,31,31,30,31,30,31);

var now    = new Date();		// returns a Date object
var nowYr  = now.getFullYear();         // returns 4-digit number
var nowMon = now.getMonth();		// returns a number between 0 and 11
var nowDay = now.getDate();		// returns a number between 1 and 31
var nowDOW = now.getDay();		// returns Day of Week as 0-6


function dateStr(m,d,yr)
{

	return monSName[m]+" "+d+", "+yr;
}


var milliSecsPerDay = (24*60*60*1000);
function diffInDays(earlier,later)	// takes 2 values in absolute milliseconds
{
	return Math.round( (later - earlier) / milliSecsPerDay );
}


function dateDiff(d1,d2)	// pass in Date strings (earlier,later), returns days
{
	var secs1 = Date.parse(d1);	//	gets milliseconds from date in 'Mon dd, yyyy' format
	var secs2 = Date.parse(d2);
	return diffInDays(secs1,secs2);
}

function dateObject(dStr)		// creates a JS Date from 'mm-dd-yyyy'
{
	var dateArr = dStr.split("-");
	var dateObj = new Date(dateArr[0]+"/"+dateArr[1]+"/"+dateArr[2]);
   return dateObj;
}

function calcDayDiff()
{
	var startDate = dateObject( document.getElementById('d1').lastChild.data );
   var endngDate = dateObject( document.getElementById('d2').lastChild.data );
   var daysApart = diffInDays( startDate, endngDate );
   document.getElementById('diffDays').lastChild.data = daysApart;
}


function getDateInfo()
{
	var monIdx = document.userForm.month.options.selectedIndex;
	var dayIdx = document.userForm.day.options.selectedIndex;
	var yr = document.userForm.year.value;
	var mon = document.userForm.month.options[monIdx].value;
	var day = document.userForm.day.options[dayIdx].value;
	var hlpr = monDays[mon];
	if (day < monDays[mon] + 1)
	{
		if ( (mon == 1) && (yr % 4 == 0) ) { hlpr++; }
		var userDate = new Date(yr,mon,day);
		var dayOfWeek = userDate.getDay();
		document.userForm.dow.value = dayName[dayOfWeek];
		var elaps = daysAgo(yr,monIdx+1,dayIdx+1);
		document.userForm.elapsed.value = elaps;
                var totminutes = elaps * 1440;
		document.userForm.totmin.value = totminutes;
	}
	else
	{
		alert('The date ' + dateStr(mon,day,yr) + " is invalid.\nCheck it again.");
   }
}

var todayStr = dateStr(nowMon, nowDay, nowYr);


function daysAgo(yr,m,d)
{

	var pastDate = dateStr(m-1, d, yr); 
	return dateDiff( pastDate, todayStr );
}


function getAge() 
{

	var xmonIdx = document.userForm.month.options.selectedIndex;
	var xdayIdx = document.userForm.day.options.selectedIndex;
	var xyrIdx  = document.userForm.year.options.selectedIndex;

	var yMonth  = document.userForm.month.options[xmonIdx].value;
	var yDay    = document.userForm.day.options[xdayIdx].value;
	var yYear   = document.userForm.year.options[xyrIdx].value;

        var dayLength = yDay.length;
        if (dayLength == 1)
	var zDay = "0" + yDay;
	else {
	var zDay = yDay;
	}

        var monthLength = yMonth.length;
        if (monthLength == 1)
	var zMonth = "0" + yMonth;
	else {
	var zMonth = yMonth;
	}

	var today = new Date(now.getYear(),now.getMonth(),now.getDate());

	var yearNow = nowYr;
	var monthNow = nowMon;
	var dateNow = nowDay;

	var yearDob = yYear;
	var monthDob = zMonth;
	var dateDob = zDay;

// Adjust Year

	if (monthNow >= monthDob )
	var yearAge = yearNow - yearDob;
	else {
	var yearAge = (yearNow - yearDob) - 1;
	}

// Test for date in the future and vefore AA began (1935/6/10)

        if (yearAge < 0) 
        {  
        alert("Date is in the future.\n\nAre you planning on going back out?\nCounting the days until that date?\n\nDrop everything and get to a meeting NOW!!!");
        }

//        if (yearDob >= 1935 && monthDob >= 5 && dateDob > 10) 
//        {  
//        alert("Congratulations!\n\nYou've been sober longer than AA has been around (June 10, 1935).");
//        }

// Adjust Month
	
	if (monthNow >= monthDob)
	var monthAge = monthNow - monthDob;
	else {
	var monthAge = 12 + monthNow - monthDob;
	}

// Adjust Date

	if (dateNow >= dateDob)
	var dateAge = dateNow - dateDob;
	else 
        {
	monthAge--;
	var dateAge = 31 + dateNow - dateDob;

	if (monthAge < 0) {
	monthAge = 11;
	                  }
        }

       document.userForm.xYear.value  = yearAge;
       document.userForm.xMonth.value = monthAge;
       document.userForm.xDay.value   = dateAge;
}	
