///////////////////////////////////////////////////////////////////////
//Sample script for pulling selection criteria from marketing web site
//which is passed to the IRM and put in an iframe
///////////////////////////////////////////////////////////////////////

var dateBase = (new Date().getMonth() + 1) + "/" + new Date().getDate() + "/" + new Date().getFullYear();

// construct the IRM url including all search criteria and dates
// source the irm iframe with this url
function callIRM()
{
   var url = "https://www.columbiatelluride.com/reservations/?BookingEngine=https%3A//irmserv.columbiatelluride.com/irmnet/res/ResMain.aspx%3F";
   var foundOne = false;
      
   //Add guest requets if selected
   //These must correspond to GuestRequest1-9 values
/*   var location = document.form1.ddLocation.value;
   if (location != "*")
   {
      url = url + "Request2%3D" + location;
      foundOne = true;
   }
   var bedrooms = document.form1.ddBedrooms.value;
  if (bedrooms != "*") 
   {
       if (foundOne) url = url + "%26";
       url = url + "Request1%3D" + bedrooms;
       foundOne = true;
   }
   var pricerange = document.form1.ddPrice.value;
   if (pricerange != "*")
   {
      if (foundOne) url = url + "%26";
      url = url + "Request3%3D" + pricerange;
      foundOne = true;
   }
   var smoking = document.form1.ddSmoking.value;
   if (smoking != "*")
   {
      if (foundOne) url = url + "%26";
      url = url + "Request4%3D" + smoking;
      foundOne = true;
   }
 */  
   //Add arrival and departure dates if selected 
   var arrival = document.form1.wdcArrival_input.value;
   var departure = document.form1.wdcDeparture_input.value;
   if (arrival != "") 
   {
      //verify that arrival choice is not in the past
      if (new Date(arrival) < new Date(dateBase))
      {
         alert("Arrival date must be today or later.\nPlease change your calendar dates and try again.");
         return false;
      }
      
      //for demo convert year to 1998
/*      var arrDate = arrival.split("/");
	  arrival = arrDate[0]+"/"+arrDate[1]+"/1998";
*/
      if (departure != "") 
      {
/*         //for demo convert year to 1998 (or 1999 if applicable)
         var depDate = departure.split("/");
         if (arrDate[0] == "12" && depDate[0] != "12")
         { departure =  depDate[0]+"/"+depDate[1]+"/1999"; }
         else
         { departure =  depDate[0]+"/"+depDate[1]+"/1998"; }
*/            
      
         //verify departure > arrival
         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 > 14)   // for example enforce a maximum stay
         {
            alert("Online Reservations cannot be made for more than a 14 night stay.\nPlease change your calendar dates, or call us about your extended stay.\nThank You");
            return false;
         }
      }
      
      if (foundOne) url = url + "%26";
      url = url + "Arrival%3D" + arrival;
      foundOne = true;      
      if (departure != "") 
      { url = url + "%26Departure%3D" + departure; }
      else   // use default number of nights
      { url = url + "%26Nights%3D" + numberNights; }
      
      //Add people selections
      url = url + "%26People1%3D" + document.form1.ddAdults.value;
      var children = document.form1.ddChildren.value;
      if (children != "0") url = url + "%26People2%3D" + children;
      var dogs = document.form1.ddDogs.value;
      if (dogs != "0") url = url + "%26People3%3D" + children;
   }
   
   //Nothing was selected, get all rooms
   if (!foundOne) url = url + "AllRooms%3Dtrue";
   //alert(url);   
   
   // put IRM.net in the iframe
   //var irmFrame = document.getElementById('irmFrame');
   //parent.irmFrame.location.href = url;
   
   // OR open a new window for the IRM  
   //window.open(url,'_new','height=900, width=850, scrollbars=yes, resizable=yes');
   
   document.location = url
   
}  //callIRM

// 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); 