// JavaScript Document

/* Javascript functions to load current date and to handle number of nights based on the current date values */

var ArrivalDate = new Date();
var DepartDate = new Date();
var NightsStay = 2;
var today = new Date();
var oneMinute = 60 * 1000  // milliseconds in a minute
var oneHour = oneMinute * 60
var oneDay = oneHour * 24

function intializeDates(){
	//Function to create the default dates for when a page loads
	var index;
	
	//Set the intial date to be one month in advance
	//alert(ArrivalDate.getTime());
	ArrivalDate.setTime(today.getTime() + oneDay * 14);
	//alert(ArrivalDate);
	//alert(ArrivalDate.getMonth());
	
	//Arrival Date Month
	document.getElementById("DATERANGESTART_MONTH").options[ArrivalDate.getMonth()].selected = true;
	
	//Arrival Date Day
	for(index = 0; index < document.getElementById("DATERANGESTART_DAY").length; index++) {
		if(document.getElementById("DATERANGESTART_DAY").options[index].value != ArrivalDate.getDate()){
			document.getElementById("DATERANGESTART_DAY").options[index].selected = false;
		}else{
			document.getElementById("DATERANGESTART_DAY").options[index].selected = true;
			//alert(index + " Marked True");
		}
	}
	
	//Arrival Date Year
	for(index = 0; index < document.getElementById("DATERANGESTART_YEAR").length; index++) {
		if(document.getElementById("DATERANGESTART_YEAR").options[index].value != ArrivalDate.getFullYear()){
			document.getElementById("DATERANGESTART_YEAR").options[index].selected = false;
		}else{
			document.getElementById("DATERANGESTART_YEAR").options[index].selected = true;
			//alert(index + " Marked True Year Arrive");
		}
	}
	
	setDepartDate();
}

function setArrivalDate(){
	//setting date of arrival based on form input
	
	//Arrival Date Month
	for(index = 0; index < document.getElementById("DATERANGESTART_MONTH").length; index++) {
		if(document.getElementById("DATERANGESTART_MONTH").options[index].selected){
			ArrivalDate.setMonth(document.getElementById("DATERANGESTART_MONTH").options[index].value);
		}
	}
	
	//Arrival Date Day
	for(index = 0; index < document.getElementById("DATERANGESTART_DAY").length; index++) {
		if(document.getElementById("DATERANGESTART_DAY").options[index].selected){
			ArrivalDate.setDate(document.getElementById("DATERANGESTART_DAY").options[index].value);
		}
	}
	
	//Arrival Date Year
	for(index = 0; index < document.getElementById("DATERANGESTART_YEAR").length; index++) {
		if(document.getElementById("DATERANGESTART_YEAR").options[index].selected){
			ArrivalDate.setFullYear(document.getElementById("DATERANGESTART_YEAR").options[index].value);
		}
	}
}

function setDepartDate(){
	//function to set the departure date based on the Arrival Date and Number of Nights Staying
	//alert("Starting setDepartDate()");
	
	//Setting current Arrival Date
	setArrivalDate();
	//alert("ArrivalDate = " + ArrivalDate);
	
	getNights();
	
	DepartDate.setTime(ArrivalDate.getTime() + (oneDay*NightsStay));
	//alert("DepartDate = " + DepartDate);
	
	//Arrival Date Month
	for(index = 0; index < document.getElementById("DATERANGEEND_MONTH").length; index++) {
		if(document.getElementById("DATERANGEEND_MONTH").options[index].value != DepartDate.getMonth()){
			document.getElementById("DATERANGEEND_MONTH").options[index].selected = false;
		}else{
			document.getElementById("DATERANGEEND_MONTH").options[index].selected = true;
			//alert(index + " Marked True Month Depart");
		}
	}
	
	//Arrival Date Day
	for(index = 0; index < document.getElementById("DATERANGEEND_DAY").length; index++) {
		if(document.getElementById("DATERANGEEND_DAY").options[index].value != DepartDate.getDate()){
			document.getElementById("DATERANGEEND_DAY").options[index].selected = false;
		}else{
			document.getElementById("DATERANGEEND_DAY").options[index].selected = true;
			//alert(index + " Marked True");
		}
	}
	
	//Arrival Date Year
	for(index = 0; index < document.getElementById("DATERANGEEND_YEAR").length; index++) {
		if(document.getElementById("DATERANGEEND_YEAR").options[index].value != DepartDate.getFullYear()){
			document.getElementById("DATERANGEEND_YEAR").options[index].selected = false;
		}else{
			document.getElementById("DATERANGEEND_YEAR").options[index].selected = true;
			//alert(index + " Marked True Year Depart");
		}
	}
}

function getDepartDate(){
	//Arrival Date Month
	for(index = 0; index < document.getElementById("DATERANGEEND_MONTH").length; index++) {
		if(document.getElementById("DATERANGEEND_MONTH").options[index].selected){
			DepartDate.setMonth(document.getElementById("DATERANGEEND_MONTH").options[index].value);
		}
	}
	
	//Arrival Date Day
	for(index = 0; index < document.getElementById("DATERANGEEND_DAY").length; index++) {
		if(document.getElementById("DATERANGEEND_DAY").options[index].selected){
			DepartDate.setDate(document.getElementById("DATERANGEEND_DAY").options[index].value);
		}
	}
	
	//Arrival Date Year
	for(index = 0; index < document.getElementById("DATERANGEEND_YEAR").length; index++) {
		if(document.getElementById("DATERANGEEND_YEAR").options[index].selected){
			DepartDate.setFullYear(document.getElementById("DATERANGEEND_YEAR").options[index].value);
		}
	}	
}

function setNights(){
		getDepartDate();
		
		var timeDifference = DepartDate.getTime() - ArrivalDate.getTime();
		NightsStay = timeDifference/oneDay;
		document.getElementById("NUMBER_OF_NIGHTS").value = NightsStay;
}

function getNights(){
	NightsStay = document.getElementById("NUMBER_OF_NIGHTS").value;
}