//DATE FUNCTIONS-------------------------------------------------------------
function y2k(number)
{ 
	return (number < 1000) ? number + 1900 : number;
}

function changeDays(MonthObject,DayObject,YearObject)
{
	var selectedValue=DayObject.selectedIndex+1;
	var tempDate=new Date(2000,MonthObject.selectedIndex-(MonthObject.length-12),27);
	var DaysInMonth=27;
	while(tempDate.getMonth() == MonthObject.selectedIndex-(MonthObject.length-12))
	{
		DaysInMonth++;
		tempDate=new Date(YearObject[YearObject.selectedIndex].value,MonthObject.selectedIndex-(MonthObject.length-12),DaysInMonth+1);
	}
	//alert(isLeapYear(YearObject[YearObject.selectedIndex].value));
	//if (DaysInMonth==28 && isLeapYear(YearObject[YearObject.selectedIndex].value))
	//	DaysInMonth=29;
	if (selectedValue > DaysInMonth)
		selectedValue = DaysInMonth;
	for (var i=31; i > 1; i--) {
		DayObject.options[i]=null;
	}
	for (var i=1; i < 31; i++) {
		DayObject.options[i]=null;
	}
	var tempOption=new Option();
	for (var i=1+(1-(MonthObject.length-12)); i <= DaysInMonth; i++) {
		tempOption=new Option(i,i);
		eval("DayObject.options[i-(1-(MonthObject.length-12))]=tempOption")
		if (i==selectedValue) {
			DayObject.options[i-(1-(MonthObject.length-12))].selected=true
		}
	}
}

function startToday(Form,WhichDate)
{
	var today = new Date();
	var thisMonth=today.getMonth()+1;
	var thisDay=today.getDate();
	var thisYear=today.getYear();
	for (var i=1; i <= 12; i++)
		{
		if (i==thisMonth)
			eval("Form."+WhichDate+"Month.options[i].selected=true")
		}
	for (var i=1; i < 32; i++)
		{
		if (i==thisDay)
			eval("Form."+WhichDate+"Day.options[i].selected=true")
		}
    eval("Form."+WhichDate+"Year.value=thisYear")
	//Form.OnStudyYear.value=thisYear;
}

function isLeapYear(intYear)
{
	if (intYear % 100 == 0)
	{
		if (intYear % 400 == 0)
		{
			return true;
		}
	}
	else
	{
		if ((intYear % 4) == 0)
		{
			return true;
		}
	}
	return false;
}

function isDate (month,day,year) 
{
 // checks if date passed is valid
 // will accept dates in following format:
 // isDate(dd,mm,ccyy), or
 // isDate(dd,mm) - which defaults to the current year, or
 // isDate(dd) - which defaults to the current month and year.
 // Note, if passed the month must be between 1 and 12, and the
 // year in ccyy format.

     var today = new Date();
     year = ((!year) ? y2k(today.getYear()):year);
     month = ((!month) ? today.getMonth():month-1);
     if (!day) return false
     var test = new Date(year,month,day);
     if ( (y2k(test.getYear()) == year) &&
          (month == test.getMonth()) &&
          (day == test.getDate()) )
         return true;
     else
         return false
}

function validateDate(month,day,year)
{
	if (year.length != 4)
	{
		return false;
	}
	return isDate(month,day,year);
}

function validateStringDate(stringDate)
{
	var stringYear=Right(stringDate, 4);
	var stringMonth=Left(stringDate,Find(stringDate,"/",1)-1)-1;
	var stringDay=stringDate.substr(Find(stringDate,"/",1),Find(stringDate,"/",2)-Find(stringDate,"/",1)-1);
	return validateDate(stringMonth,stringDay,stringYear);
}

function dateCompare(firstDate, secondDate) //Returns -1 if firstDate is smaller than secondDate, 0 if they are equal, 1 if firstDate is greater than secondDate
{
	var firstYear=Right(firstDate, 4);
	var firstMonth=Left(firstDate,Find(firstDate,"/",1)-1)-1;
	var firstDay=firstDate.substr(Find(firstDate,"/",1),Find(firstDate,"/",2)-Find(firstDate,"/",1)-1);
	var secondYear=Right(secondDate, 4);
	var secondMonth=Left(secondDate,Find(secondDate,"/",1)-1)-1;
	var secondDay=secondDate.substr(Find(secondDate,"/",1),Find(secondDate,"/",2)-Find(secondDate,"/",1)-1);
	Date1=new Date(firstYear,firstMonth,firstDay);
	Date2=new Date(secondYear,secondMonth,secondDay);
	if (Date1.getYear() < Date2.getYear())
		return -1;
	else if (Date1.getYear() > Date2.getYear())
		return 1;
	else
	{
		if (Date1.getMonth() < Date2.getMonth())
			return -1;
		else if (Date1.getMonth() > Date2.getMonth())
			return 1;
		else
		{
			if (Date1.getDate() < Date2.getDate())
				return -1;
			else if (Date1.getDate() > Date2.getDate())
				return 1;
			else
				return 0;
		}
	}
}
function DaysInMonth(thisMonth, thisYear)
{
	var DayCount=28;
	var tempDate=new Date(thisYear,thisMonth-1,DayCount);
	while(tempDate.getMonth() == thisMonth-1)
	{
		DayCount++;
		tempDate=new Date(thisYear,thisMonth-1,DayCount);
	}
	return DayCount-1;
}
//END DATE FUNCTIONS---------------------------------------------------------