var Today = new Date()
var min_year = Today.getYear(); // defines lowest year in year menu
var max_year = Today.getYear()+2; // defines highest year in the year menu

// make this true to make month return a number (0-11)
var month_returned_as_number = true;
months = new arr("January","February","March","April","May","June","July","August","September","October","November.","December");
var cur = new Date();

function _strMonth() {
var months = new Array("January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December");
return months[this.getMonth()];
}

function changeDays(numb,date_form,aname) {
MonthCtrl = eval("date_form." + aname +"month");
DayCtrl = eval("date_form." + aname +"day");
YearCtrl = eval("date_form." + aname +"year");
mth = eval(MonthCtrl.selectedIndex);
sel = eval(YearCtrl.selectedIndex);
yr = eval(YearCtrl.options[sel].text);
if (numb != 1) {
numDays = numDaysIn(mth,yr);
eval("date_form." + aname +"day.options.length="+numDays) ;
for (i=27;i<numDays;i++) {
j=i+1;
eval("date_form." + aname +"day.options["+i+"].text = "+j);
}
}
}
	
function numDaysIn(mth,yr) {
if (mth==3 || mth==5 || mth==8 || mth==10) return 30;
else if ((mth==1) && leapYear(yr)) return 29;
else if (mth==1) return 28;
else return 31;
}

function leapYear(yr) {
if (((yr % 4 == 0) && yr % 100 != 0) || yr % 400 == 0)
return true;
else
return false;
}

function arr() {
this.length=arr.arguments.length;
for (n=0;n<arr.arguments.length;n++) {
this[n] = arr.arguments[n];
}
}

function firstDayOfYear(yr) {
diff = yr - 401;
return parseInt((1 + diff + (diff / 4) - (diff / 100) + (diff / 400)) % 7);
}

// fixes a Netscape 2 and 3 bug
function getFullYear(d) { // d is a date object
yr = d.getYear();
if (yr < 1000)
yr+=1900;
return yr;
}

function datedrop(myname, offset){
var MINUTE = 60 * 1000
var HOUR = MINUTE * 60
var DAY = HOUR * 24
var WEEK = DAY * 7
var today = (new Date()).getTime()
var d = new Date(today + (DAY * offset)) 
edmonth=d.getMonth();
edday=d.getDate();
edyear=d.getFullYear();

// write month element
document.write("<select name="+myname+"month size=1 onChange='changeDays(0,this.form,"+'"'+myname+'"'+")'>");
for (i=1;i<13;i++)
document.write("<option"+(month_returned_as_number?" value="+i:"")
+(edmonth==i-1?" selected":"")+">"+months[i-1]+"\n");

// write day element
document.write("</select><select name="+myname+"day size=1 onChange='changeDays(0,this.form,"+'"'+myname+'"'+")'>\n");
for (i=1;i<=numDaysIn(d.getMonth(),getFullYear(d));i++)
document.write("<option"+(edday==i?" selected":"")+">"+i+"\n");

// write year element
document.write("</select><select name="+myname+"year size=1 onChange='changeDays(0,this.form,"+'"'+myname+'"'+")'>\n");
for (i=min_year;i<max_year;i++)
document.write("<option"+(edyear==i?" selected":"")+">"+i+"\n");
document.write("</select>");
}
