/*

             ____________________________________________________
            /                                                    \
           |    _____________________________________________     |
           |   |                                             |    |
           |   |                                             |    |
           |   |  University of Georgia                      |    |
           |   |  Food Service Department                    |    |
           |   |                                             |    |
           |   |  JavaScpript written by Jonathan Hardy      |    |
           |   |  April 20th, 2006                           |    |
           |   |  w/ subsequent edits by Nick Ciarochi and   |    |
           |   |  Joseph Rhodes 			     |	  |
	   |   |				    	     |    |
           |   |  The purpose of this script is to decide    |    |
           |   |  whether or not each individual dining      |    |
           |   |  hall in UGA Food Service is open or not.   |    |
           |   |                                             |    |
           |   |                                             |    |
           |   |_____________________________________________|    |
           |                                                      |
            \____________________________________________________/
                   \_______________________________________/
                _______________________________________________
             _-'    .-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.  --- `-_
          _-'.-.-. .---.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.--.  .-.-.`-_
       _-'.-.-.-. .---.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-`__`. .-.-.-.`-_
    _-'.-.-.-.-. .-----.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-----. .-.-.-.-.`-_
 _-'.-.-.-.-.-. .---.-. .-----------------------------. .-.---. .---.-.-.-.`-_
:===--------------------------------------------------------------------===---:
`---._.-----------------------------------------------------------------._.---'


*/




//****************************************************
//  
//  Variable declaration
//  
//****************************************************

var dineDate = new Date();
var dineYear = dineDate.getFullYear();
var dineMonth = dineDate.getMonth() + 1;
var dineDay = dineDate.getDate();
var dineDayOfWeek = dineDate.getDay();
var dineHour = dineDate.getHours();
var dineMinute = dineDate.getMinutes();
var dineSecond = dineDate.getSeconds();
var dineSemester = "";





//****************************************************
//  
//  Function boltonStatus
//  @param - N/A
//  @returns - True/False if Bolton open/closed
//  
//  This function is used to determine if Bolton
//  Dining Commons is open or closed.
//  
//****************************************************

function boltonStatus(){
	//----------------------------------------------------
	// If it is a holiday, return that Bolton is closed
	//----------------------------------------------------
	if(isHoliday("Bolton")){
		return false;
	}
	//----------------------------------------------------
	// If it isn't a holiday, check which semester it is
	//----------------------------------------------------
	else{
		//----------------------------------------------------
		// If it is Fall Semester, check the Fall hours
		//----------------------------------------------------
		if(getSemester() == "Fall"){
			
			//-----------------------------------------
			// Move in on the 11th of August 2007
			//-----------------------------------------
			if( dineMonth == 8 ) // If it is August
			{
				if( dineDay == 11 ) //if it is the 11th
				{
					if( dineHour == 8 ) // If 8 AM
					{
						if( dineMinute >= 0 )
						{
							return true;	
						}
						else
						{
							return false;
						}
					}
					
					// if it is 8AM to 8PM We're open
					else if( dineHour >=9 )
					{
						if( dineHour < 20 )
						{
							return true;
						}
					}

					else
					{
						return false;
					}
				}
			}

			//--------------------------------
			// Move in on the 12th of August
			//--------------------------------
			if( dineMonth == 8 ) // If it is August
			{
				if( dineDay == 12 ) //if it is the 12th
				{
					if( dineHour == 8 )
					{
						if( dineMinute >= 0 )
						{
							return false;	
						}
						else
						{
							return true;
						}
					}
					
					// if it is 11AM to 8PM We're open
					else if( dineHour >= 9 )
					{
						if( dineHour < 20 )
						{
							return true;
						}
					}
					
					else
					{
						return false;
					}
				}
			}
			
			//----------------------------------------------------
			// If day of week is Sunday - Closed
			//----------------------------------------------------
			if(dineDayOfWeek == 0) {
				return false;
			}
			//----------------------------------------------------
			// If day of week is Saturday - Closed
			//----------------------------------------------------
			else if(dineDayOfWeek == 6){
				return false;
			}
			//----------------------------------------------------
			// If day of week is Monday x Friday - 7 AM to 8 PM
			//----------------------------------------------------
			else{
				if(dineHour >= 7){
					if(dineHour <= 19){
						return true;
					}
					else{
						return false;
					}
				}
				else {
					return false;
				}
			}
		}
		//----------------------------------------------------
		// If it is Spring Semester, check the Spring hours
		//----------------------------------------------------
		else if(getSemester() == "Spring"){
			//----------------------------------------------------
			// If day of week is Sunday - Closed
			//----------------------------------------------------
			if(dineDayOfWeek == 0) {
				return false;
			}
			//----------------------------------------------------
			// If day of week is Saturday - Closed
			//----------------------------------------------------
			else if(dineDayOfWeek == 6){
				return false;
			}
			//----------------------------------------------------
			// If day of week is Monday x Friday - 7 AM to 8 PM
			//----------------------------------------------------
			else{
				if(dineHour >= 7){
					if(dineHour <= 19){
						return true;
					}
					else{
						return false;
					}
				}
				else {
					return false;
				}
			}
		}
		//----------------------------------------------------
		// If it is Maymester, check the Maymester hours
		//----------------------------------------------------
		else if(getSemester() == "May"){
			return false;		
		}
		//----------------------------------------------------
		// If it is Summer Session, check the Summer hours
		//----------------------------------------------------
		else if(getSemester() == "Summer"){
			//----------------------------------------------------
			// If day of week is Sunday - 8:30 AM to 2:00 PM
			//----------------------------------------------------
			if(dineDayOfWeek == 0) {
				if(dineHour == 8){
					if(dineMinute >= 30){
						return true;
					}
					else{
						return false;
					}
				}
				else if(dineHour >= 9){
					if(dineHour <= 13){
						return true;
					}
					else{
						return false;
					}
				}
				else {
					return false;
				}
			}
			//----------------------------------------------------
			// If day of week is Saturday - 8:30 AM to 7:00 PM
			//----------------------------------------------------
			else if(dineDayOfWeek == 6){
				if(dineHour == 8){
					if(dineMinute >= 30){
						return true;
					}
					else{
						return false;
					}
				}
				else if(dineHour >= 9){
					if(dineHour <= 18){
						return true;
					}
					else{
						return false;
					}
				}
				else {
					return false;
				}
			}
			//----------------------------------------------------
			// If day of week is Monday x Friday - 7 AM to 8 PM
			//----------------------------------------------------
			else{
				if(dineHour >= 7){
					if(dineHour <= 19){
						return true;
					}
					else{
						return false;
					}
				}
				else{
					return false;
				}
			}		
		}
		//----------------------------------------------------
		// If it is none of the above, then we are closed
		//----------------------------------------------------
		else{
			return false;
		}
	}
}




//****************************************************
//  
//  Function ohouseStatus
//  @param - N/A
//  @returns - True/False if Oglethorpe open/closed
//  
//  This function is used to determine if Oglethorpe
//  Dining Commons is open or closed.
//  
//****************************************************

function ohouseStatus(){
	//----------------------------------------------------
	// If it is a holiday, return that O-House is closed
	//----------------------------------------------------
	if(isHoliday("Oglethorpe")){
		return false;
	}
	//----------------------------------------------------
	// If it isn't a holiday, check which semester it is
	//----------------------------------------------------
	else{
		//----------------------------------------------------
		// If it is Fall Semester, check the Fall hours
		//----------------------------------------------------
		if(getSemester() == "Fall"){
			//----------------------------------------------------
			// If day of week is Sunday - 8:30 AM to 2:00 PM
			//----------------------------------------------------
			if(dineDayOfWeek == 0) {
				if(dineHour == 8){
					if(dineMinute >= 30){
						return true;
					}
					else{
						return false;
					}
				}
				else if(dineHour >= 9){
					if(dineHour <= 13){
						return true;
					}
					else{
						return false;
					}
				}
				else {
					return false;
				}
			}
			//----------------------------------------------------
			// If day of week is Saturday - 8:30 AM to 8:00 PM
			//----------------------------------------------------
			else if(dineDayOfWeek == 6){
				if(dineHour == 8){
					if(dineMinute >= 30){
						return true;
					}
					else{
						return false;
					}
				}
				else if(dineHour >= 9){
					if(dineHour <= 19){
						return true;
					}
					else{
						return false;
					}
				}
				else {
					return false;
				}
			}
			//----------------------------------------------------
			// If day of week is Monday x Friday - 7 AM to 8 PM
			//----------------------------------------------------
			else{
				if(dineHour >= 7){
					if(dineHour <= 19){
						return true;
					}
					else{
						return false;
					}
				}
				else {
					return false;
				}
			}
		}
		//----------------------------------------------------
		// If it is Spring Semester, check the Spring hours
		//----------------------------------------------------
		else if(getSemester() == "Spring"){
			//----------------------------------------------------
			// If day of week is Sunday - 8:30 AM to 2:00 PM
			//----------------------------------------------------
			if(dineDayOfWeek == 0) {
				if(dineHour == 8){
					if(dineMinute >= 30){
						return true;
					}
					else{
						return false;
					}
				}
				else if(dineHour >= 9){
					if(dineHour <= 13){
						return true;
					}
					else{
						return false;
					}
				}
				else {
					return false;
				}
			}
			//----------------------------------------------------
			// If day of week is Saturday - 8:30 AM to 8:00 PM
			//----------------------------------------------------
			else if(dineDayOfWeek == 6){
				if(dineHour == 8){
					if(dineMinute >= 30){
						return true;
					}
					else{
						return false;
					}
				}
				else if(dineHour >= 9){
					if(dineHour <= 19){
						return true;
					}
					else{
						return false;
					}
				}
				else {
					return false;
				}
			}
			//----------------------------------------------------
			// If day of week is Monday x Friday - 7 AM to 8 PM
			//----------------------------------------------------
			else{
				if(dineHour >= 7){
					if(dineHour <= 19){
						return true;
					}
					else{
						return false;
					}
				}
				else {
					return false;
				}
			}
		}
		//----------------------------------------------------
		// If it is Maymester, check the Maymester hours
		//----------------------------------------------------
		else if(getSemester() == "May")
		{
			if( dineDay >= 11 && dineDay <= 29 )
			{
			
				//----------------------------------------------------
				// If day of week is Monday x Friday - 7 AM to 7 PM
				//----------------------------------------------------
				
				if( dineDayOfWeek == 6 || dineDayOfWeek == 0 )
				{
					return false;
				}
				
				if(dineHour >= 7)
				{
					if(dineHour <= 19)
					{
						return true;
					}
					else
					{
						return false;
					}
				}
				else
				{
					return false;
				}	
			}		
		}
		//----------------------------------------------------
		// If it is Summer Session, check the Summer hours
		//----------------------------------------------------
		else if(getSemester() == "Summer")
		{
			if( dineDay >= 1 && dineDay <= 4 && dineMonth == 6 )
			{
			
				//----------------------------------------------------
				// If day of week is Monday x Friday - 7 AM to 7 PM
				//----------------------------------------------------
				
				if( dineDayOfWeek == 6 || dineDayOfWeek == 0 )
				{
					return false;
				}
				
				if(dineHour >= 7)
				{
					if(dineHour <= 19)
					{
						return true;
					}
					else
					{
						return false;
					}
				}
				else
				{
					return false;
				}	
			}
		}
		//----------------------------------------------------
		// If it is none of the above, then we are closed
		//----------------------------------------------------
		else{
			return false;
		}
	}
}




//****************************************************
//  
//  Function snellingStatus
//  @param - N/A
//  @returns - True/False if Snelling open/closed
//  
//  This function is used to determine if Snelling
//  Dining Commons is open or closed.
//  
//****************************************************

function snellingStatus(){
	//----------------------------------------------------
	// If it is a holiday, return that Snelling is closed
	//----------------------------------------------------
	if(isHoliday("Snelling")){
		return false;
	}
	//----------------------------------------------------
	// If it isn't a holiday, check which semester it is
	//----------------------------------------------------
	else{
		//----------------------------------------------------
		// If it is Fall Semester, check the Fall hours
		//----------------------------------------------------
		if(getSemester() == "Fall")
		{
			//----------------------------------------------------
			// If day of week is Sunday - Closed
			//----------------------------------------------------
			if(dineDayOfWeek == 0){
				return false;
			}
			//----------------------------------------------------
			// If day of week is Saturday - Closed
			//----------------------------------------------------
			else if(dineDayOfWeek == 6){
				return false;
			}
			
			//----------------------------------------------------
			// If day of week is Friday - 12:00 AM to 2:30 PM
			// End of 24 Hour Service Week - Joe
			//----------------------------------------------------
			else if(dineDayOfWeek == 5)
			{
				if(dineHour == 14)
				{
					if(dineMinute >= 30)
					{
						return false;
					}
					else
					{
						return true;
					}
				}
				else if(dineHour >= 15){
						return false;
				}
				else
				{
					return true;
				}
			}
			//----------------------------------------------------
			// If day of week is Monday - 7:00 AM to Friday 2:30 PM
			// End of 24 Hour Service Week - Joe
			//----------------------------------------------------
			else if(dineDayOfWeek == 1)
			{
				if(dineHour >= 7)
				{
					return true;
				}
				else
				{
					return false;
				}
			}
			//----------------------------------------------------
			// If day of week is Tuesday x Thursday - 12 AM to 12 AM
			// Full 24 Hour Service - Joe
			//----------------------------------------------------
			else
			{
				return true;
			}
		}
			
			/*
			//----------------------------------------------------
			// If day of week is Friday - 7:00 AM to 2:30 PM
			//----------------------------------------------------
			else if(dineDayOfWeek == 5){
				if(dineHour >= 7){
					if(dineHour == 14){
						if(dineMinute <= 30){
							return true;
						}
						else{
							return false;
						}
					}
					else if(dineHour <= 13){
						return true;
					}
					else{
						return false;
					}
				}
				else{
					return false;
				}
			}
			//----------------------------------------------------
			// If day of week is Monday x Thursday - 7 AM to 12 AM
			//----------------------------------------------------
			else{
				if(dineHour >= 7){
					if(dineHour <= 23){
						return true;
					}
					else{
						return false;
					}
				}
				else {
					return false;
				}
			}
		}
		*/
		
		//----------------------------------------------------
		// If it is Spring Semester, check the Spring hours
		//----------------------------------------------------
		else if(getSemester() == "Spring"){
			//----------------------------------------------------
			// If day of week is Sunday - Closed
			//----------------------------------------------------
			if(dineDayOfWeek == 0){
				return false;
			}
			//----------------------------------------------------
			// If day of week is Saturday - Closed
			//----------------------------------------------------
			else if(dineDayOfWeek == 6){
				return false;
			}
			//----------------------------------------------------
			// If day of week is Friday - 12:00 AM to 2:30 PM
			// End of 24 Hour Service Week - Joe
			//----------------------------------------------------
			else if(dineDayOfWeek == 5)
			{
				if(dineHour == 14)
				{
					if(dineMinute >= 30)
					{
						return false;
					}
					else
					{
						return true;
					}
				}
				else if(dineHour >= 15){
						return false;
				}
				else
				{
					return true;
				}
			}
			//----------------------------------------------------
			// If day of week is Monday - 7:00 AM to Friday 2:30 PM
			// End of 24 Hour Service Week - Joe
			//----------------------------------------------------
			else if(dineDayOfWeek == 1)
			{
				if(dineHour >= 7)
				{
					return true;
				}
				else
				{
					return false;
				}
			}
			//----------------------------------------------------
			// If day of week is Tuesday x Thursday - 12 AM to 12 AM
			// Full 24 Hour Service - Joe
			//----------------------------------------------------
			else
			{
				return true;
			}
		}
		//----------------------------------------------------
		// If it is Maymester, check the Maymester hours
		//----------------------------------------------------
		else if(getSemester() == "May"){
		
			if( dineMonth == 5 )
			{
				return false;
			}
			
			//----------------------------------------------------
			// If day of week is Sunday - Closed
			//----------------------------------------------------
			if(dineDayOfWeek == 0) {
				return false;
			}
			//----------------------------------------------------
			// If day of week is Saturday - Closed
			//----------------------------------------------------
			else if(dineDayOfWeek == 6){
				return false;
			}
			//----------------------------------------------------
			// If day of week is Monday x Friday - 7 AM to 7 PM
			//----------------------------------------------------
			else{
				if(dineHour >= 7){
					if(dineHour <= 18){
						return true;
					}
					else{
						return false;
					}
				}
				else {
					return false;
				}
			}		
		}
		//----------------------------------------------------
		// If it is Summer Session, check the Summer hours
		//----------------------------------------------------
		else if(getSemester() == "Summer"){
			//----------------------------------------------------
			// If day of week is Sunday - Closed
			//----------------------------------------------------
			if(dineDayOfWeek == 0) {
				return false;
			}
			//----------------------------------------------------
			// If day of week is Saturday - Closed
			//----------------------------------------------------
			else if(dineDayOfWeek == 6){
				return false;
			}
			//----------------------------------------------------
			// If day of week is Monday x Friday - 7 AM to 2:30 PM
			//----------------------------------------------------
			else{
				if(dineHour >= 7){
					if(dineHour == 14){
						if(dineMinute <= 30){
							return true;
						}
						else{
							return false;
						}
					}
					else if(dineHour <= 13){
						return true;
					}
					else{
						return false;
					}
				}
				else{
					return false;
				}
			}		
		}
		//----------------------------------------------------
		// If it is none of the above, then we are closed
		//----------------------------------------------------
		else{
			return false;
		}
	}
}




//****************************************************
//  
//  Function summitStatus
//  @param - N/A
//  @returns - True/False if Summit open/closed
//  
//  This function is used to determine if the Village
//  Summit Dining Commons is open or closed.
//  
//****************************************************

function summitStatus(){
	//----------------------------------------------------
	// If it is a holiday, return that Summit is closed
	//----------------------------------------------------
	if(isHoliday("Summit")){
		return false;
	}
	//----------------------------------------------------
	// If it isn't a holiday, check which semester it is
	//----------------------------------------------------
	else{
		//----------------------------------------------------
		// If it is Fall Semester, check the Fall hours
		//----------------------------------------------------
		if(getSemester() == "Fall"){

			//--------------------------------
			// Move in on the 12th of August
			//--------------------------------
			if( dineMonth == 8 ) // If it is August
			{
				if( dineDay == 12 ) //if it is the 12th
				{
					if( dineHour == 8 )
					{
						if( dineMinute >= 0 )
						{
							return true;	
						}
						else
						{
							return false;
						}
					}
					
					// if it is 11AM to 8PM We're open
					else if( dineHour >= 9 )
					{
						if( dineHour < 20 )
						{
							return true;
						}
					}
					
					else
					{
						return false;
					}
				}
			}
			
			
			//----------------------------------------------------
			// If day of week is Sunday - 8:30 AM to 2:00 PM
			//----------------------------------------------------
			if(dineDayOfWeek == 0) {
				if(dineHour == 8){
					if(dineMinute >= 30){
						return true;
					}
					else{
						return false;
					}
				}
				else if(dineHour >= 9){
					if(dineHour <= 13){
						return true;
					}
					else{
						return false;
					}
				}
				else {
					return false;
				}
				
			}
			//----------------------------------------------------
			// If day of week is Saturday - 8:30 AM to 8:00 PM
			//----------------------------------------------------
			else if(dineDayOfWeek == 6){
				if(dineHour == 8){
					if(dineMinute >= 30){
						return true;
					}
					else{
						return false;
					}
				}
				else if(dineHour >= 9){
					if(dineHour <= 19){
						return true;
					}
					else{
						return false;
					}
				}
				else {
					return false;
				}
			}
			//----------------------------------------------------
			// If day of week is Monday x Friday - 7 AM to 8 PM
			//----------------------------------------------------
			else{
				if(dineHour >= 7){
					if(dineHour <= 19){
						return true;
					}
					else{
						return false;
					}
				}
				else {
					return false;
				}
			}
		}
		//----------------------------------------------------
		// If it is Spring Semester, check the Spring hours
		//----------------------------------------------------
		else if(getSemester() == "Spring"){
			//----------------------------------------------------
			// If day of week is Sunday - 8:30 AM to 2:00 PM
			//----------------------------------------------------
			if(dineDayOfWeek == 0) {
				if(dineHour == 8){
					if(dineMinute >= 30){
						return true;
					}
					else{
						return false;
					}
				}
				else if(dineHour >= 9){
					if(dineHour <= 13){
						return true;
					}
					else{
						return false;
					}
				}
				else {
					return false;
				}
			}
			//----------------------------------------------------
			// If day of week is Saturday - 8:30 AM to 8:00 PM
			//----------------------------------------------------
			else if(dineDayOfWeek == 6){
				if(dineHour == 8){
					if(dineMinute >= 30){
						return true;
					}
					else{
						return false;
					}
				}
				else if(dineHour >= 9){
					if(dineHour <= 19){
						return true;
					}
					else{
						return false;
					}
				}
				else {
					return false;
				}
			}
			//----------------------------------------------------
			// If day of week is Monday x Friday - 7 AM to 8 PM
			//----------------------------------------------------
			else{
				if(dineHour >= 7){
					if(dineHour <= 19){
						return true;
					}
					else{
						return false;
					}
				}
				else {
					return false;
				}
			}
		}
		//----------------------------------------------------
		// If it is Maymester, check the Maymester hours
		//----------------------------------------------------
		else if(getSemester() == "May"){
			return false;		
		}
		//----------------------------------------------------
		// If it is Summer Session, check the Summer hours
		//----------------------------------------------------
		else if(getSemester() == "Summer"){
			//----------------------------------------------------
			// If day of week is Sunday - Closed
			//----------------------------------------------------
			if(dineDayOfWeek == 0) {
				return false;
			}
			//----------------------------------------------------
			// If day of week is Saturday - Closed
			//----------------------------------------------------
			else if(dineDayOfWeek == 6){
				return false;
			}
			//----------------------------------------------------
			// If day of week is Monday x Friday - 7 AM to 2:30 PM
			//----------------------------------------------------
			else{
				if(dineHour >= 7){
					if(dineHour == 14){
						if(dineMinute <= 30){
							return true;
						}
						else{
							return false;
						}
					}
					else if(dineHour <= 13){
						return true;
					}
					else{
						return false;
					}
				}
				else{
					return false;
				}
			}		
		}
		
		//----------------------------------------------------
		// If it is none of the above, then we are closed
		//----------------------------------------------------
		else{
			return false;
		}
	}
}




//****************************************************
//  
//  Function getSemester
//  @param - N/A
//  @returns - String value with the current semester
//  
//  This function is used to determine which of the 
//  semesters we are in at the University of Georgia.
//  
//****************************************************

function getSemester(){
	//----------------------------------------------------
	// Check if it is Fall Semester
	//----------------------------------------------------
	if(isFall()){
		dineSemester = "Fall";
		return dineSemester;
	}
	//----------------------------------------------------
	// Check if it is Spring Semester
	//----------------------------------------------------
	else if(isSpring()){
		dineSemester = "Spring";
		return dineSemester;
	}
	//----------------------------------------------------
	// Check if it is Maymester
	//----------------------------------------------------
	else if(isMay()){
		dineSemester = "May";
		return dineSemester;
	}
	//----------------------------------------------------
	// Check if it is Summer Session
	//----------------------------------------------------
	else if(isSummer()){
		dineSemester = "Summer";
		return dineSemester;
	}
	//----------------------------------------------------
	// If not one of the above, then we are not open
	//----------------------------------------------------
	else{
		dineSemester = "Closed - No Meal Plan Period";
		return dineSemester;
	}
}




//****************************************************
//  
//  Function isFall
//  @param - N/A
//  @returns - True/False if Fall in/out
//  
//  This function is used to determine if it we are
//  in Fall Semester at the University of Georgia.
//  
//****************************************************

function isFall(){
	//----------------------------------------------------
	// Fall 2008 runs 8/12 to 12/18
	//----------------------------------------------------
	if(dineMonth == 8){
		if(dineDay >= 12){
			return true;
		}
		else{
			return false;
		}
	}
	else if(dineMonth == 9){
		return true;
	}
	else if(dineMonth == 10){
		return true;
	}
	else if(dineMonth == 11){
		return true;
	}
	else if(dineMonth == 12){
		if(dineDay <= 18){
			return true;
		}
		else{
			return false;
		}
	}
	else{
		return false;
	}
	
}




//****************************************************
//  
//  Function isSpring
//  @param - N/A
//  @returns - True/False if Spring in/out
//  
//  This function is used to determine if it we are
//  in Spring Semester at the University of Georgia.
//  
//****************************************************

function isSpring(){
	//----------------------------------------------------
	// Spring 2008 runs 1/3 to 5/10
	//----------------------------------------------------
	if(dineMonth == 1){
		if(dineDay >= 2){
			return true;
		}
		else{
			return false;
		}
	}
	else if(dineMonth == 2){
		return true;
	}
	else if(dineMonth == 3){
		return true;
	}
	else if(dineMonth == 4){
		return true;
	}
	else if(dineMonth == 5){
		if(dineDay <= 9){
			return true;
		}
		else{
			return false;
		}
	}
	else{
		return false;
	}
	
}




//****************************************************
//  
//  Function isMay
//  @param - N/A
//  @returns - True/False if Maymester in/out
//  
//  This function is used to determine if it we are
//  in Maymester at the University of Georgia.
//  
//****************************************************

function isMay(){
	//----------------------------------------------------
	// Maymester 2006 runs 5/11 to 6/1
	//----------------------------------------------------
	if(dineMonth == 5){
		if(dineDay >= 11){
			return true;
		}
		else{
			return false;
		}
	}
	else if(dineMonth == 5){
		if(dineDay <= 31){
			return true;
		}
		else{
			return false;
		}
	}
	else{
		return false;
	}
}




//****************************************************
//  
//  Function isSummer
//  @param - N/A
//  @returns - True/False if Summer Session in/out
//  
//  This function is used to determine if it we are
//  in Summer Session at the University of Georgia.
//  
//****************************************************

function isSummer(){
	//----------------------------------------------------
	// Summer 2006 runs 6/2 to 8/1
	//----------------------------------------------------
	if(dineMonth == 6){
		if(dineDay >= 1){
			return true;
		}
		else{
			return false;
		}
	}
	else if(dineMonth == 7){
		return true;
	}
	else if(dineMonth == 8){
		if(dineDay <= 1){
			return true;
		}
		else{
			return false;
		}
	}
	else{
		return false;
	}	
}




//****************************************************
//  
//  Function isHoliday
//  @param - strDining for Dining Hall being checked
//  @returns - True/False if it is/isn't a Holiday
//  
//  This function is used to determine if the current
//  day is a holiday for UGA Food Service.
//  
//****************************************************

function isHoliday(strDining){
	//----------------------------------------------------
	// Holidays and Special Cases for January:
	//----------------------------------------------------
	
	// MLK Holiday
	if(dineMonth == 1){
		if(dineDay == 19){
			if(strDining == "Bolton"){
				return false;
			}
			else if(strDining == "Oglethorpe"){
				return true;
			}
			else if(strDining == "Snelling"){
				return false;
			}
			else if(strDining == "Summit"){
				return true;
			}
		}
		
		// Bolton Holiday Hours in January
		if( strDining == "Bolton" )
		{
			if( dineDay == 2  )
			{
				return true;
			}
			else if( dineDay == 5 )
			{
				if( dineHour == 10 )
				{
					if( dineMinute >= 30 )
					{
						return false;
					}
					else
					{
						return true;
					}
				}
				else if( dineHour > 10 )
				{
					return false;
				}
				else
				{
					return true;
				}
			}
			else if( dineDay >= 2 )
			{
				return false;
			}
		}
		
		// Oglethorpe Holiday Hours in January
		if( strDining == "Oglethorpe" )
		{
			if( dineDay == 2 && dineDay <= 4 )
			{
				return true;
			}
			else if( dineDay == 5 )
			{
				if( dineHour == 10 )
				{
					if( dineMinute >= 30 )
					{
						return false;
					}
					else
					{
						return true;
					}
				}
				else if( dineHour > 10 )
				{
					return false;
				}
				else
				{
					return true;
				}
			}
			else if( dineDay >= 2 )
			{
				return false;
			}
		}
		
		// Summit Holiday Hours in January
		else if( strDining == "Summit" )
		{
			if( dineDay >= 1 && dineDay <= 6 )
			{
					return true;
			}
		}
		
		// Snelling Holiday Hours in January
		else if( strDining == "Snelling" )
		{
			if( dineDay >= 1 && dineDay <= 7 )
			{
					return true;
			}
		}
			
		else{
			return false;
		}
	}
	//----------------------------------------------------
	// Holidays and Special Cases for February
	//----------------------------------------------------
	else if(dineMonth == 2){
		//No Holidays
	}
	//----------------------------------------------------
	// Holidays and Special Cases for March
	//----------------------------------------------------
	else if(dineMonth == 3){
		
		if( dineDay == 6)
		{
			if(strDining == "Oglethorpe" || strDining == "Snelling")
			{	// Start of Spring Break weekend, Oglethorpe closes at 2:30 on Friday
				if(dineHour == 14)
				{
					if(dineMinute >= 30)
					{
						return true;
					}
					else
					{
						return false;
					}
				}
				else if(dineHour >= 15)
				{
					return true;
				}
				else
				{
					return false;
				}
			}
		}
	
		else if(dineDay >= 7){
			if(dineDay <= 15){
				if(strDining == "Summit"){
					return false;
				}
				else{
					return true;
				}
			}
			else{
				return false;
			}
		}
		else{
			return false;
		}
	}
	//----------------------------------------------------
	// Holidays and Special Cases for April
	//----------------------------------------------------
	else if(dineMonth == 4){
		//No Holidays
	}
	//----------------------------------------------------
	// Holidays and Special Cases for May
	//----------------------------------------------------
	else if(dineMonth == 5){
		//----------------------------------------------------
		// Holidays
		//----------------------------------------------------
		if(dineDay == 26){
			if (strDining == "Oglethorpe")
			{
				if ((dineHour >= 7) && (dineHour <= 19))
				{
					return false;
				}
			}
			return true;
		}
		
		//----------------------------------------------------
		// Special cases for individual Dining Commons
		//----------------------------------------------------
		
		else if(dineDay == 8){
			if(strDining == "Bolton"){
				if (dineHour >= 20){
					return true;
				}
				else{
					return false;
				}
			}
			
			else if(strDining == "Oglethorpe"){
				if(dineHour == 14){
					if(dineMinute >= 30){
						return true;
					}
					else{
						return false;
					}
				}
				else if (dineHour >= 15){
					return true;
				}
				else{
					return false;
				}
			}
			else if(strDining == "Snelling"){
				if(dineHour == 14){
					if(dineMinute >= 30){
						return true;
					}
					else{
						return false;
					}
				}
				else if (dineHour >= 15){
					return true;
				}
				else{
					return false;
				}
			}
			else if(strDining == "Summit"){
				return false;
			}
		}
		else if(dineDay == 9){
			if(strDining == "Bolton"){
				return true;
			}
			else if(strDining == "Oglethorpe"){
				return true;
			}
			else if(strDining == "Snelling"){
				return true;
			}
			else if(strDining == "Summit"){
				if(dineHour == 10){
					if(dineMinute >= 30){
						return true;
					}
					else{
						return false;
					}
				}
				else if (dineHour >= 11){
					return true;
				}
				else{
					return false;
				}
			}
		}
		/*
		else if(dineDay == 15){
			if(strDining == "Bolton"){
				return true;
			}
			else if(strDining == "Oglethorpe"){
				return true;
			}
			else if(strDining == "Snelling"){
				if(dineHour == 10){
					if(dineMinute <= 30){
						return true;
					}
					else{
						return false;
					}
				}
				else if (dineHour <= 9){
					return true;
				}
				else{
					return false;
				}
			}
			else if(strDining == "Summit"){
				return true;
			}
		}
		*/
		else{
			return false;
		}
		
	}
	//----------------------------------------------------
	// Holidays and Special Cases for June
	//----------------------------------------------------
	else if(dineMonth == 6){
		//----------------------------------------------------
		// Special cases for individual Dining Commons
		//----------------------------------------------------
		/*
		if(strDining == "Bolton"){
			if(dineDayOfWeek == 0){
				return true;
			}
			else if(dineDayOfWeek == 6){
				return true;
			}
			else{
				return false;
			}
		}
		else{
			return false;
		}
		*/
	}
	//----------------------------------------------------
	// Holidays and Special Cases for July
	//----------------------------------------------------
	else if(dineMonth == 7){
		//----------------------------------------------------
		// Holidays
		//----------------------------------------------------
		if(dineDay == 4){
			return true;
		}

		//----------------------------------------------------
		// Special cases for individual Dining Commons
		//----------------------------------------------------
		
		/*
		else if(strDining == "Bolton")
		{
			if(dineDayOfWeek == 6)
			{
				if(dineDay <= 3){
					return true;
				}
				else{
					return false;
				}
			}
			else if(dineDayOfWeek == 6)
			{
				if(dineDay <= 7){
					return true;
				}
				else{
					return false;
				}
			}
			else
			{
				return true;
			}
		}
		else
		{
			return false;
		}
		*/
	}
	
	
	//----------------------------------------------------
	// Holidays and Special Cases for August
	//----------------------------------------------------
	else if(dineMonth == 8){
		//----------------------------------------------------
		// Special cases for individual Dining Commons
		//----------------------------------------------------
		if(dineDay == 4)
		{
			if(strDining == "Bolton"){
				if (dineHour >= 20){
					return true;
				}
				else{
					return false;
				}
			}
			else if(strDining == "Oglethorpe"){
				return true;
			}
			else if(strDining == "Snelling"){
				if(dineHour == 14){
					if(dineMinute >= 30){
						return true;
					}
				}
				else if (dineHour >= 15){
					return true;
				}
				else{
					return false;
				}
			}
			else if(strDining == "Summit"){
				if(dineHour == 14){
					if(dineMinute >= 30){
						return true;
					}
				}
				else if (dineHour >= 15){
					return true;
				}
				else{
					return false;
				}
			}
			else{
				return false;
			}
		}
		//----------------------------------------------------
		// Special opening schedule
		//----------------------------------------------------
		
		else if(dineDay == 12)
		{
			if(strDining == "Bolton")
			{
				if(dineHour <= 9){
					return true;
				}
				else if(dineHour == 10){
					if(dineMinute <= 30){
						return true;
					}
					else{
						return false;
					}
				}
				else{
					return false;
				}
			}
			else if(strDining == "Oglethorpe"){
				return true;
			}
			else if(strDining == "Snelling"){
				return true;
			}
			else if(strDining == "Summit")
			{
				if(dineHour <= 9){
					return true;
				}
				else if(dineHour == 10){
					if(dineMinute <= 30){
						return true;
					}
					else{
						return false;
					}
				}
				else{
					return false;
				}
			}
			else{
				return false;
			}
		}
		else if(dineDay == 13){
			if(strDining == "Bolton"){
				return false;
			}
			if(strDining == "Oglethorpe"){
				return true;
			}
			if(strDining == "Snelling"){
				return true;
			}
			if(strDining == "Summit"){
				return false;
			}
		}
		else if(dineDay < 18)
		{
			if(strDining == "Snelling")
			{
				return true;
			}
		}
		//----------------------------------------------------
		// End stupid special opening schedule
		//----------------------------------------------------
		
		else{
			return false;
		}
	}
	//----------------------------------------------------
	// Holidays and Special Cases for September
	//----------------------------------------------------
	else if(dineMonth == 9){
		//----------------------------------------------------
		// Special cases for individual Dining Commons
		//----------------------------------------------------
		if(dineDay == 1){
			if(strDining == "Oglethorpe"){
				return true;
			}
			else if(strDining == "Summit"){
				return true;
			}
			else{
				return false;
			}
		}
		else{
			return false;
		}
	}
	//----------------------------------------------------
	// Holidays and Special Cases for October
	//----------------------------------------------------
	else if(dineMonth == 10){
	//----------------------------------------------------
	// Special cases for individual Dining Commons
	//----------------------------------------------------

		//----------------------------------------------------
		// Fall Break: Oct 31 - Nov 2
		//----------------------------------------------------
		
		if(strDining == "Bolton"){
			if(dineDay >= 31){
				if(dineDay <= 31){
					return true;
				}
				else{
					return false;
				}
			}
		}
		else if(strDining == "Oglethorpe"){
			return false;
		}
		else if(strDining == "Snelling"){
			if(dineDay == 30){
				if(dineHour >= 16){
					return true;
				}
				else{
					return false;
				}
			}
			else if(dineDay >= 31){
				if(dineDay <= 31){
					return true;
				}
				else{
					return false;
				}
			}
		}
		else if(strDining == "Summit"){
			if(dineDay >= 31){
				if(dineDay <= 31){
					return true;
				}
				else{
					return false;
				}
			}
		}
		else{
			return false;
		}
	}
	//----------------------------------------------------
	// Holidays and Special Cases for November
	//----------------------------------------------------
	else if(dineMonth == 11)
	{
		//----------------------------------------------------
		// Special cases for individual Dining Commons
		//----------------------------------------------------
		
		if(strDining == "Bolton")
		{
			// Fall Break Carries on into Nov
			if( dineDay >= 1 && dineDay <=2 )
			{
				return true;
			}
			// End Fall Break Carries on into Nov
			else if(dineDay >= 22)
			{
				if(dineDay <= 29)
				{
					return true;
				}
				else
				{
					return false;
				}
			}
			else
			{
				return false;
			}
		}
		
		
		else if(strDining == "Oglethorpe"){
			if(dineDay == 21){
				if(dineHour == 14){
					if(dineMinute >= 30){
						return true;
					}
					else{
						return false;
					}
				}
				else if(dineHour >= 15){
					return true;
				}
				else{
					return false;
				}
			}
			else if(dineDay >= 22){
				if(dineDay <= 29){
					return true;
				}
				else{
					return false;
				}
			}
		}
		else if(strDining == "Snelling")
		{
			// Fall Break Carries on into Nov
			if(dineDay >= 1 && dineDay <= 2)
			{
				return true;
			}
			// Fall Break Carries on into Nov
			if(dineDay == 21){
				if(dineHour == 14){
					if(dineMinute >= 30){
						return true;
					}
					else{
						return false;
					}
				}
				else if(dineHour >= 15){
					return true;
				}
				else{
					return false;
				}
			}
			else if(dineDay >= 22){
				if(dineDay <= 29){
					return true;
				}
				else{
					return false;
				}
			}
			else
			{
				return false;
			}
		}
		else if(strDining == "Summit"){
			// Fall Break Carries on into Nov
			if( dineDay >= 1 && dineDay <= 2 )
			{
				return true;
			}
			// Fall Break Carries on into Nov
			
			else if(dineDay == 26)
			{
				if( dineHour == 10 )
				{
					if( dineMinute >= 30 )
					{
						return true;
					}
					else
					{
						return false;
					}
				}
				else if( dineHour >= 11 )
				{
					return true;
				}
				else
				{
					return false;
				}
			}
			else if( dineDay >= 27 )
			{
				if( dineDay <= 28 )
				{
					return true;
				}
				else
				{
					return false;
				}
			}
			else
			{
				return false;
			}
		}
		else{
			return false;
		}
	}
	//----------------------------------------------------
	// Holidays and Special Cases for December
	//----------------------------------------------------
	else if(dineMonth == 12){
		//----------------------------------------------------
		// Special cases for individual Dining Commons
		//----------------------------------------------------
		if(strDining == "Bolton"){
			if(dineDay >= 14){
				if( dineHour >= 20 )
				{
					return true;
				}
				else
				{
					return false;
				}
			}
			else{
				return false;
			}
		}
		else if(strDining == "Oglethorpe"){
			if(dineDay == 14){
				if(dineHour == 14){
					if(dineMinute >= 30){
						return true;
					}
					else{
						return false;
					}
				}
				else if(dineHour >= 15){
					return true;
				}
				else{
					return false;
				}
			}
			else if(dineDay >= 15){
				return true;
			}
			else{
				return false;
			}
		}
		else if(strDining == "Snelling"){
			if(dineDay == 14){
				if(dineHour >= 14){
						if( dineMinute >= 30 )
					return true;
				}
				else{
					return false;
				}
			}
			else if(dineDay >= 15){
				return true;
			}
			else{
				return false;
			}
		}
		else if(strDining == "Summit"){
			if(dineDay == 15){
				if(dineHour == 10){
					if(dineMinute >= 30){
						return true;
					}
					else{
						return false;
					}
				}
				else if(dineHour >= 11){
					return true;
				}
				else{
					return false;
				}
			}
			else if(dineDay >= 16){
				return true;
			}
			else{
				return false;
			}
		}
		else{
			return false;
		}
	}
	//----------------------------------------------------
	// If not one of the above, then it isn't a month
	//----------------------------------------------------
	else{
		return false;
	}
}
