// Yahoo! Calendar functions
var widgetCal1, widgetCal2; 
var dtWidgetArrival, dtWidgetDeparture;
function widgetInit() { 
	var dtMin = new Date();
	dtWidgetArrival = new Date();
	var sMin = (dtMin.getMonth()+1) + "/" + (dtMin.getDate()) + "/" + dtMin.getFullYear() ;
	widgetCal1 = new YAHOO.widget.CalendarGroup("widgetCal1","widgetCal1Container", 
		{ pages:1,
			title:"Arrival Date",
			mindate: sMin,
			MULTI_SELECT: false,	
			close:true } ); 
	widgetCal1.selectEvent.subscribe(updateWidgetArrivalDate, widgetCal1, true); 
	widgetCal1.render(); 

	var sDMin = (dtMin.getMonth()+1) + "/" + (dtMin.getDate()+2) + "/" + dtMin.getFullYear() ;
	dtWidgetDeparture = new Date(dtWidgetArrival.getYear(),  dtWidgetArrival.getMonth(), dtWidgetArrival.getDate()+2); 
	widgetCal2 = new YAHOO.widget.CalendarGroup("widgetCal2","widgetCal2Container", 
		{ pages:1,
			title:"Departure Date",
			mindate: sDMin,
			MULTI_SELECT: false,	
			close:true } ); 
	widgetCal2.selectEvent.subscribe(updateWidgetDepartureDate, widgetCal2, true); 
	widgetCal2.render(); 

	var o = document.getElementById("widgetArrivalDate"); 
	if (o) o.value=sMin;
	widgetCal1.select(o.value);
	widgetCal1.render(); 
		
	o = document.getElementById("widgetDepartureDate"); 
	if (o) o.value=sDMin;
	widgetCal2.select(sDMin);
	widgetCal2.render(); 
} 

function goWidgetCal() {
	widgetCal1.show();
	widgetCal2.show();
}
function hideWidgetCal() {
	widgetCal1.hide();
	widgetCal2.hide();
}

function updateWidgetArrivalDate(type,args,obj) {
	var selectedDates = widgetCal1.getSelectedDates();
	if (!selectedDates) return;
	if (selectedDates[0]) {
		var dt = selectedDates[0];
		var o = document.getElementById("widgetArrivalDate"); 
		o.value = (dt.getMonth()+1) + "/" + dt.getDate() + "/" + dt.getFullYear() ;
		dtWidgetArrival = dt;
		if (dtWidgetArrival >= dtWidgetDeparture) {
				widgetCal2.deselect(dtWidgetDeparture);
				dtWidgetDeparture = new Date(dtWidgetArrival.getYear(),  dtWidgetArrival.getMonth(), dtWidgetArrival.getDate()+2);
				o = document.getElementById("widgetDepartureDate"); 
				o.value = (dtWidgetDeparture.getMonth()+1) + "/" + (dtWidgetDeparture.getDate()) + "/" + dtWidgetDeparture.getFullYear() ;
				widgetCal2.select(dtWidgetDeparture);
		}
		var sMin = (dtWidgetArrival.getMonth()+1) + "/" + (dtWidgetArrival.getDate()+1) + "/" + dtWidgetArrival.getFullYear() ;			
		widgetCal2.cfg.setProperty("mindate", sMin); 			
		widgetCal2.cfg.setProperty("pagedate", (dtWidgetArrival.getMonth()+1) + "/" + dtWidgetArrival.getFullYear()); 
		widgetCal2.render(); 	
		hideWidgetCal();		
		
	}
	return;
}

function updateWidgetDepartureDate(type,args,obj) {
	var selectedDates = widgetCal2.getSelectedDates();
	if (!selectedDates) return;
	var o = document.getElementById("widgetDepartureDate"); 
	if (selectedDates[0]) {
		var dt = selectedDates[0];
		o.value = (dt.getMonth()+1) + "/" + dt.getDate() + "/" + dt.getFullYear() ;
		dtWidgetDeparture = dt;
		hideWidgetCal();
	}
	return;
}

function updateWidgetArrivalCal() {

	var o = document.getElementById("widgetArrivalDate"); 
	if (o.value != "") {
		widgetCal1.select(o.value);
		var selectedDates = widgetCal1.getSelectedDates();
		if (selectedDates.length > 0) {
			var firstDate = selectedDates[0];
			widgetCal1.cfg.setProperty("pagedate", (firstDate.getMonth()+1) + "/" + firstDate.getFullYear());
			widgetCal1.render();
		} else {
			alert("Please select a future arrival date.");
			o.value = "";
			o.focus();
		}
	}
}
function updateWidgetDepartureCal() {
	var o = document.getElementById("widgetDepartureDate"); 
	if (o.value != "") {
		widgetCal2.select(o.value);
		var selectedDates = widgetCal2.getSelectedDates();
		if (selectedDates.length > 0) {
			var firstDate = selectedDates[0];
			widgetCal2.cfg.setProperty("pagedate", (firstDate.getMonth()+1) + "/" + firstDate.getFullYear());
			widgetCal2.render();
		} else {
			alert("Please select a departure date after your arrival date.");
			o.value = "";
			o.focus();
		}
	}
}


$(document).ready(function(){
	$('#imgReservationsButton').toggle(
		function(){ openReservationsWidget(); },
		function(){ closeReservationsWidget(); }
	);
	$('#reservationsOverlayClose').click(
		function() { $('#imgReservationsButton').trigger('click'); }
    );
	
	
});

function openReservationsWidget() {
	$('#imgReservationsButton').attr('src','/sitebase/wrap/theme0/images/nav.reservations.on.gif');
	$("#reservationsOverlay").slideToggle("fast");
}
function closeReservationsWidget() {
	widgetCal1.hide();
	widgetCal2.hide();
	$("#reservationsOverlay").slideToggle("fast");
	$('#imgReservationsButton').attr('src','/sitebase/wrap/theme0/images/nav.reservations.off.jpg');
}

function goBook () {

	var arMonths = new Array("January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December");

	var oArrive = document.getElementById("widgetArrivalDate");
	var dtArrive = new Date(oArrive.value);
	var oDepart = document.getElementById("widgetDepartureDate");
	var dtDepart = new Date(oDepart.value);
	var oAdults = document.getElementById("adults");
	var oChildren = document.getElementById("children");
	var oResort = document.getElementById("resort");
//	var oAAA = document.getElementsByName("RtVal1");
	
	var postForm = document.createElement("form");
	postForm.method="post" ;
	postForm.target="_blank";
	postForm.action = "/go.book.aspx";
	
	addFormField(postForm, "resMulti",  oResort.value);
	addFormField(postForm, "resAdult", oAdults.value);
	addFormField(postForm, "resChild", oChildren.value);
	addFormField(postForm, "inmonth", arMonths[dtArrive.getMonth()]);
	addFormField(postForm, "inday", dtArrive.getDate());
	addFormField(postForm, "inyear", dtArrive.getFullYear());
	addFormField(postForm, "outmonth", arMonths[dtDepart.getMonth()]);
	addFormField(postForm, "outday", dtDepart.getDate());
	addFormField(postForm, "outyear", dtDepart.getFullYear());
//	if (oAAA.length == 2 ) {
//		if (oAAA[0].checked) addFormField(postForm, "RtVal1", oAAA[0].value );
//		else addFormField(postForm, "RtVal1", oAAA[1].value );
//	}	
	
	document.body.appendChild(postForm) ;
	postForm.submit() ;
	document.body.removeChild(postForm) ;
	
	$('#imgReservationsButton').trigger('click');
}

function addFormField(form, fieldName, fieldValue) {
	var inputField = document.createElement("input") ;
	inputField.setAttribute("name", fieldName) ;
	inputField.setAttribute("id", fieldName) ;
	inputField.setAttribute("type", "hidden") ;
	inputField.setAttribute("value", fieldValue);
	form.appendChild(inputField) ;
}

