function startOfThisGymnasticSeason() {
	var today = new Date();	
	var thisMonth = today.getMonth();
	var startDate;
	
	if (thisMonth < 7) {
		startDate = new Date(today.getFullYear()-1,7,1);
	}
	else {
		startDate = new Date(today.getFullYear(),7,1);
	}
	return startDate;
}
// ****************************************************************************
// ****************************************************************************
// ****************************************************************************
function endOfThisGymnasticSeason() {
	var today = new Date();	
	var thisMonth = today.getMonth();
	var endDate;
	
	if (thisMonth > 6) {
		endDate  = new Date(today.getFullYear()+1,6,30);
	}
	else {
		endDate = new Date(today.getFullYear(),6,30);
	}
	return endDate;
}
// ****************************************************************************
// ****************************************************************************
// ****************************************************************************
function check_in_range(startDate, endDate, dateFromUser)
{
	
  	// Check that user date is between start & end
  	return dateFromUser >= startDate && dateFromUser <= endDate;
}
// ****************************************************************************
// ****************************************************************************
// ****************************************************************************
function isTodaysDateWithinDateRange(startDateStr, endDateStr) {
	var today = new Date();
	var WithinDateRange;
	var startDate;
	var endDate;
	
	if (endDateStr == "" && endDateStr == "") {
		WithinDateRange = true;	
	}
	else if (startDateStr == "Not Ready" || endDateStr == "Not Ready") {
		WithinDateRange = false;		
	}
	else {
		startDateStr = makePartialDateAFullDate(startDateStr);
		if (isDate(startDateStr) == false) {
			startDate = tmHolidays(today.getFullYear(), startDateStr);	
		}
		else {
			startDate = new Date(startDateStr);
		}
		
		endDateStr = makePartialDateAFullDate(endDateStr);
		if (isDate(endDateStr) == false) {
			endDate = tmHolidays(today.getFullYear(), endDateStr);	
		}
		else {
			endDate = new Date(endDateStr);
		}
		
		if (startDate > endDate) {
			if (endDate >= today) {
				startDate = new Date(startDate.getFullYear()-1,startDate.getMonth(),startDate.getDate());
			}
			else {
				endDate = new Date(endDate.getFullYear()+1,endDate.getMonth()+1,endDate.getDate());
			}
		}
		if (check_in_range(startDate, endDate, today) == false) {
			WithinDateRange = false;
		}
		else {
			WithinDateRange = true;
		}		
		
	}
	return WithinDateRange;
}
// ****************************************************************************
// ****************************************************************************
// ****************************************************************************
function isDate(sDate) {
	var scratch = new Date(sDate);
	if (scratch.toString() == "NaN" || scratch.toString() == "Invalid Date") {
		return false;
	} 
	else {
		return true;
	}
}
// ****************************************************************************
// ****************************************************************************
// ****************************************************************************
function makePartialDateAFullDate(thisDateStr) {
	
	var todayDate = new Date();
	if (thisDateStr.length == 5 && thisDateStr.indexOf('/') != -1) {
		thisDateStr = thisDateStr.concat('/',todayDate.getFullYear().toString());
	}
	return thisDateStr;
}
