//this contains the semester dates and names. This file is needed by the CalApp used by the activities area pages. --Jamis 6/25/08
//also creates the semester object and loads it into session. semester object contains the semester names and the dates.

function setSemesterDates(curSemester, bookDate){ //semester passed in should be 'semester1', 'semester2' or 'semester3'
	if(bookDate){//if a date is passed in, (only for selecting an event by bookId in URL) make that the current Date
		var currentDate = strToDate(bookDate);
	}else{
		var currentDate = new Date();
	}
	currentDate.setHours(0,0,0,0); //so all the dates will be set to midnight
	var currentYear = currentDate.getFullYear();
	
	//semester name defintions and date ranges for those semesters
	var semester1 = "Fall"; //have semester names be pulled dynamically from here?
	var semester2 = "Winter";
	var semester3 = "Summer";
	
	//create the date objects for semester begin and end
	var semester1Begin = strToDate('9/02/' + currentYear); //year is dynamically set here so it doesn't need to changed every year
	var semester1End = strToDate('12/30/' + currentYear);
	
	var semester2Begin = strToDate('1/1/' + currentYear); //fix this for winter at least so that winter year will always be plus 1 unless you are in winter
	var semester2End = strToDate('4/9/' + currentYear);
	
	var semester3Begin = strToDate('4/10/' + currentYear); 
	var semester3End = strToDate('9/01/' + currentYear);
	
	//add 1 year to winter semester if it's not winter semester
	if(currentDate > semester2End){ //if currentDate is past winter semester, set winter to the following year i.e.: If it's Summer 08 show Winter 09
		semester2Begin.setFullYear(semester2Begin.getFullYear() +1); 
		semester2End.setFullYear(semester2End.getFullYear() +1); 
		//alert('it next year: ' + semester2Begin + " | " + semester2End);
	}
	
	
	if(!curSemester){ //if no curSemester was passed in, find curSemester from today's date
		var curSemester;
		
		//find the current semester, after turning the date strings into date obj (strToDate is found in VCFuncs2.js
		if (isWithinDateRange(semester1Begin, semester1End, currentDate)){ //if it's within semester1
			curSemester = semester1;
		}
		else if (isWithinDateRange(semester2Begin, semester2End, currentDate)){//if it's within semester2...
			curSemester = semester2;
		}
		else if (isWithinDateRange(semester3Begin, semester3End, currentDate)){//if it's within semester3...
			curSemester = semester3;
		}
		else if( isWithinDateRange(semester1End, semester2Begin, currentDate)){//if it's between semesters, bump it to the next one
			curSemester = semester2;
		}
		else if (isWithinDateRange(semester2End, semester3Begin, currentDate)){//if it's between semesters, bump it to the next one
			curSemester = semester3;
		}
		else if (isWithinDateRange(semester3End, semester1Begin, currentDate)){//if it's between semesters, bump it to the next one
			curSemester = semester1;
		}
		
	
		//store the info in a semester obj then send it to the session obj
		var semesterObj = new Object();
		
		semesterObj.curSemester = curSemester; //curSemester is what SemesterTab you are on
		semesterObj.curDate = currentDate;
		
		//for these objects, '[semester1]' turns into '.Fall'
		semesterObj[semester1] = new Object();
		semesterObj[semester1].begin = semester1Begin;
		semesterObj[semester1].end = semester1End;
		
		semesterObj[semester2] = new Object();
		semesterObj[semester2].begin = semester2Begin;
		semesterObj[semester2].end = semester2End;
		
		semesterObj[semester3] = new Object();
		semesterObj[semester3].begin = semester3Begin;
		semesterObj[semester3].end = semester3End;
		
		semesterObj.setCurSemester = function(newValue){
			semesterObj.curSemester = newValue;
		}
		
		
		//add semesterObject to the global session object
		session.addAttribute('semester', semesterObj);
	}else{
		//only change the curSemester
		session.getAttribute('semester').setCurSemester(curSemester); //curSemester is what SemesterTab you are on
		
	}
	
	
}

//set the paramters for the calendar and where the local XML file is located
function setAreaSettings(calAreaParams, localXMLFileURL, area){
	settingsObj = new Object();
	
	settingsObj.calAreaParameters = calAreaParams;
	settingsObj.area = area;
	if(localXMLFileURL){
		settingsObj.localXMLFileURL = localXMLFileURL;
	}else{
		settingsObj.localXMLFileURL = "http://activities.byui.edu/scripts_sitewide/cal_app/eventBookId.xml";
	}
	
	session.addAttribute('curAreaSettings', settingsObj);
}


//TEST for what happens when your in Nov wanting to look up January, AND
//TEST for Summer looking at Winter next year
//TEST for what happens if you are between semesters
//TEST to make see how scheduled fall events show up if you are in summer