/*/////////////////////////////////////////////////////////////////////
// This script is for all parkside form widget pages that DO NOT have the iFrame.
// For pages with the reservations iFrame (/reservations) use callIRM2.js
// Edited by Chris G. May 19th, 2011
//////////////////////////////////////////////////////////////////////*/


// construct the IRM url including all search criteria and dates
function callIRM() {
	var request_vars = new Array();
	
	//promocode
	var promocode = document.form1.promocode.value;
	if(promocode!='') request_vars['promocode'] = promocode;
	     
	// Add arrival and departure dates if selected 
	var arrival = document.form1.wdcArrival_input.value;
	var departure = document.form1.wdcDeparture_input.value;
	if (arrival != '') {
		request_vars['Arrival'] = arrival;
		
    	//verify that arrival choice is not in the past
		if (new Date(arrival) < now) {
        	alert("Arrival date must be later than today.\nPlease change your calendar dates and try again.");
			return false;
		}
		
		var nights = calcNights(arrival, departure);
		if (nights <= 0 ) {
			alert("Departure date must be later than arrival date.\nPlease change your calendar dates and try again.")
			return false;
		}

		//additional checking
		if (nights > 10) {  // for example enforce a maximum stay
			alert("Online Reservations cannot be made for more than a 10 night stay.\nPlease change your calendar dates, or call us about your extended stay.\nThank You");
			return false;
		}

		if(departure != '') {
			request_vars['Departure'] = departure;
		} else {
			request_vars['Nights'] = numberNights;
		}	
	} //end arrival != ''
	
	//Add people selections
	request_vars['People1'] = document.form1.ddAdults.value;
	var children = document.form1.ddChildren.value;
	if (children != "0") request_vars['People2'] = children;
   
	//Nothing was selected, get all rooms
	if(Object.size(request_vars) == 0) request_vars['AllRooms'] = 'true';
	
	//create the url
	var url = "http://www.watersedgeresort.ca/reservations?";
	for (key in request_vars) {
		url = url + key + '=' + request_vars[key] + '&';
	}
	
	//load the url
	document.location.href = url;
}  //callIRM





Object.size = function(obj) {
    var size = 0, key;
    for (key in obj) {
        if (obj.hasOwnProperty(key)) size++;
    }
    return size;
};

// caclulate number of nights from selected arrival and departure dates
function calcNights(arrival, departure)
{   
    var arrDate = arrival.split("/");
    var depDate = departure.split("/");
   	var newArrDate = new Date(arrDate[0]+"/"+arrDate[1]+"/"+arrDate[2]);
	var newDepDate = new Date(depDate[0]+"/"+depDate[1]+"/"+depDate[2]);
	var numNights = (Math.round((newDepDate-newArrDate)/86400000));
	return numNights;
}		

//////////////////////////////////////////
// Supporting date variables and functions
//////////////////////////////////////////
// Get today's current date. 
var now = new Date();

// Array list of days.
//var days = new Array('Sunday','Monday','Tuesday','Wednesday','Thursday','Friday','Saturday');

// Array list of months.
var months = new Array('01','02','03','04','05','06','07','08','09','10','11','12');

// Calculate four digit year.
function fourdigits(number)	{
	return (number < 1000) ? number + 1900 : number;
	}
	

//Get actual values for date and month from DOM, For security purposes of demo year is not set to current//
var nowdate = 01;   //now.getDate();
var nowmonth = 2;  //now.getMonth(); // 2 = March see months array above//
var nowyear = 1998;

//Default Days ahead of todays date for arrival and departure set to current dates//
//var arr = 2;
//var dep = 4;

//For use with demo -will set the default departure date to x number of days ahead of arrival - remove or comment out for current date functionality;
var arr = 0;
var dep = 2;



//For use with current dates this function Adds 2 days for default Arrival Date & 4 days for default Departure Date.//
//For Demo use this function just returns proper format for default arrival and departure dates//
function checkDate (m, d, y, field){
	//var maxDays = DaysInMonth(m, y);
	var newDay = d + field;
	var newMonth = months[m];
	var newYear = fourdigits(y);
	//if ((newDay) > maxDays){
//		newDay = newDay - maxDays;
//		var nextMonth = m + 1;
//		if (nextMonth > 11){
//			nextMonth = 0;
//			newYear++;
//			}
//		newMonth = months[nextMonth];
//		}		
//	newDay = ((newDay<10) ? "0" : "")+ newDay;
	var fieldDate = newMonth + "/" +
					newDay + "/" +
					newYear;
	return fieldDate;
	}

// default arrival and departure dates	
var arrivalDate = checkDate(nowmonth, nowdate, nowyear, arr);
var departureDate = checkDate(nowmonth, nowdate, nowyear, dep);
//sets default number of nights
var numberNights = calcNights(arrivalDate, departureDate); 




