var DDLArrDay, 
DDLArrMonth, 
DDLArrYear, 
DDLDepDay, 
DDLDepMonth, 
DDLDepYear, 
DDLNumRooms, 
DDLNumAdults, 
defaultArr, 
defaultDep, 
defaultRooms, 
defaultAdults,
TxtArrDate,
TxtDepDate,
TxtNumRooms,
TxtNumAdults;

var defaultsExist;
var monthNames = ["Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"];
var dayNames = ["Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat"];
var popupCalendar;

$(document).ready(function(){

	if($(".promocode input").val() == ""){
		$(".promocode").hide();
		$("#promocodeanc").addClass("promocodecollapse");
	}

	$("#promocodeanc").click(function(){ 
		if($("#promocodeanc").hasClass("promocodecollapse"))
			$("#promocodeanc").removeClass("promocodecollapse");
		else
			$("#promocodeanc").addClass("promocodecollapse");
		$(".promocode").slideToggle(500); 
		return false;
	});
  
});

function popupCal(anchorname) {
	var cal = new CalendarPopup();
	var dateString;
	if(anchorname == 'ancArr')
	{
		cal.setReturnFunction("checkArrDate");
		dateString = DDLArrYear[DDLArrYear.selectedIndex].value + '-' + DDLArrMonth[DDLArrMonth.selectedIndex].value + '-' + DDLArrDay[DDLArrDay.selectedIndex].value;
	}
	else
	{
		cal.setReturnFunction("checkDepDate");
		dateString = DDLDepYear[DDLDepYear.selectedIndex].value + '-' + DDLDepMonth[DDLDepMonth.selectedIndex].value + '-' + DDLDepDay[DDLDepDay.selectedIndex].value;
	}

	cal.showCalendar(anchorname, dateString);
}

function initResv() {
	DDLArrDay = document.getElementById(initResv.arguments[0]);
	DDLArrMonth = document.getElementById(initResv.arguments[1]);
	DDLArrYear = document.getElementById(initResv.arguments[2]);
	DDLDepDay = document.getElementById(initResv.arguments[3]);
	DDLDepMonth = document.getElementById(initResv.arguments[4]);
	DDLDepYear = document.getElementById(initResv.arguments[5]);
	DDLNumRooms = document.getElementById(initResv.arguments[6]);
	DDLNumAdults = document.getElementById(initResv.arguments[7]);
	defaultArr = initResv.arguments[8];
	defaultDep = initResv.arguments[9];
	defaultRooms = initResv.arguments[10];
	defaultAdults = initResv.arguments[11];
	TxtArrDate = document.getElementById(initResv.arguments[12]);
	TxtDepDate = document.getElementById(initResv.arguments[13]);
	TxtNumRooms = document.getElementById(initResv.arguments[14]);
	TxtNumAdults = document.getElementById(initResv.arguments[15]);
	defaultsExist = defaultArr.length  > 0 && defaultDep.length  > 0 && defaultRooms.length  > 0 && defaultAdults.length  > 0;

	populateValues();

	if(defaultsExist)
		setDefaults();
}

function populateValues() {
	var arrDate = new Date();
	
	for (x=1; x<=31; x++) {
		DDLArrDay[DDLArrDay.length] = new Option(x, x);
		DDLDepDay[DDLDepDay.length] = new Option(x, x);
	}
	
	for (x=0; x<=11; x++) {
		DDLArrMonth[DDLArrMonth.length] = new Option(monthNames[x], x+1);
		DDLDepMonth[DDLDepMonth.length] = new Option(monthNames[x], x+1);
	}
	
	for (x=arrDate.getFullYear(); x<=arrDate.getFullYear()+1; x++) {
		DDLArrYear[DDLArrYear.length] = new Option(x, x);
		DDLDepYear[DDLDepYear.length] = new Option(x, x);
	}

	for (x=1; x<=4; x++) {
		DDLNumRooms[DDLNumRooms.length] = new Option(x, x);
	}

	TxtNumRooms.value = DDLNumRooms[0].value;

	for (x=1; x<=2; x++) {	
		DDLNumAdults[DDLNumAdults.length] = new Option(x, x);	
	}

	TxtNumAdults.value = DDLNumAdults[0].value;

	DDLArrDay.selectedIndex = arrDate.getDate()-1;
	DDLArrMonth.selectedIndex = arrDate.getMonth();

	updateDeparture();
}

function checkArrDate() {
	var arrDay = arguments[2] != null? arguments[2] : DDLArrDay[DDLArrDay.selectedIndex].value;
	var arrMonth = arguments[1] != null? arguments[1] : DDLArrMonth[DDLArrMonth.selectedIndex].value;
	var arrYear = arguments[0] != null? arguments[0] : DDLArrYear[DDLArrYear.selectedIndex].value;
	
	var arrDate = new Date(arrYear, arrMonth-1, arrDay);

	DDLArrDay.selectedIndex = arrDate.getDate()-1;
	DDLArrMonth.selectedIndex = arrDate.getMonth();
	for (var i=0; i < DDLArrYear.options.length; i++) {
      	if (DDLArrYear.options[i].value == arrDate.getFullYear()) {
           		DDLArrYear.selectedIndex = i;
           	}
      }

	updateDeparture();
}

function checkDepDate() {
	var depDay = arguments[2] != null? arguments[2] : DDLDepDay[DDLDepDay.selectedIndex].value;
	var depMonth = arguments[1] != null? arguments[1] : DDLDepMonth[DDLDepMonth.selectedIndex].value;
	var depYear = arguments[0] != null? arguments[0] : DDLDepYear[DDLDepYear.selectedIndex].value;
	
	var depDate = new Date(depYear, depMonth-1, depDay);

	DDLDepDay.selectedIndex = depDate.getDate()-1;
	DDLDepMonth.selectedIndex = depDate.getMonth();
	for (var i=0; i < DDLDepYear.options.length; i++) {
      	if (DDLDepYear.options[i].value == depDate.getFullYear()) {
           		DDLDepYear.selectedIndex = i;
           	}
      }

	depDay = DDLDepDay[DDLDepDay.selectedIndex].value;
	depMonth = DDLDepMonth[DDLDepMonth.selectedIndex].value;
	depYear = DDLDepYear[DDLDepYear.selectedIndex].value;

	TxtDepDate.value = (depDay < 10 ? '0' : '') + depDay + '/' + (depMonth < 10 ? '0' : '') + depMonth + '/' + depYear;
}

function updateDeparture() {
	var arrDay = DDLArrDay[DDLArrDay.selectedIndex].value;
	var arrMonth = DDLArrMonth[DDLArrMonth.selectedIndex].value;
	var arrYear = DDLArrYear[DDLArrYear.selectedIndex].value;

	TxtArrDate.value = (arrDay < 10 ? '0' : '') + arrDay + '/' + (arrMonth < 10 ? '0' : '') + arrMonth + '/' + arrYear;
		
	var depDate = new Date(arrYear, arrMonth-1, arrDay);	
	depDate.setDate(depDate.getDate()+2);
	
	DDLDepDay.selectedIndex = depDate.getDate()-1;
	DDLDepMonth.selectedIndex = depDate.getMonth();
	for (var i=0; i < DDLDepYear.options.length; i++) {
      	if (DDLDepYear.options[i].value == depDate.getFullYear()) {
           		DDLDepYear.selectedIndex = i;
           	}
      }

	var depDay = DDLDepDay[DDLDepDay.selectedIndex].value;
	var depMonth = DDLDepMonth[DDLDepMonth.selectedIndex].value;
	var depYear = DDLDepYear[DDLDepYear.selectedIndex].value;

	TxtDepDate.value = (depDay < 10 ? '0' : '') + depDay + '/' + (depMonth < 10 ? '0' : '') + depMonth + '/' + depYear;

}

function setDefaults() {
	var arrDay = defaultArr.split("/",3)[0];
	var arrMonth = defaultArr.split("/",3)[1];
	var arrYear = defaultArr.split("/",3)[2];

	TxtArrDate.value = defaultArr;

	var arrDate = new Date(arrYear, arrMonth-1, arrDay);

	DDLArrDay.selectedIndex = arrDate.getDate()-1;
	DDLArrMonth.selectedIndex = arrDate.getMonth();
	for (var i=0; i < DDLArrYear.options.length; i++) {
      	if (DDLArrYear.options[i].value == arrDate.getFullYear()) {
           		DDLArrYear.selectedIndex = i;
           	}
      }

	var depDay = defaultDep.split("/",3)[0];
	var depMonth = defaultDep.split("/",3)[1];
	var depYear = defaultDep.split("/",3)[2];

	TxtDepDate.value = defaultDep;

	var depDate = new Date(depYear, depMonth-1, depDay);

	DDLDepDay.selectedIndex = depDate.getDate()-1;
	DDLDepMonth.selectedIndex = depDate.getMonth();
	for (var i=0; i < DDLDepYear.options.length; i++) {
      	if (DDLDepYear.options[i].value == depDate.getFullYear()) {
           		DDLDepYear.selectedIndex = i;
           	}
      }

	DDLNumRooms.selectedIndex = defaultRooms - 1;
	DDLNumAdults.selectedIndex = defaultAdults - 1;

	TxtNumRooms.value = defaultRooms;
	TxtNumAdults.value = defaultAdults;
}

function resvDateIsValid() {
	var arrDay = DDLArrDay[DDLArrDay.selectedIndex].value;
	var arrMonth = DDLArrMonth[DDLArrMonth.selectedIndex].value;
	var arrYear = DDLArrYear[DDLArrYear.selectedIndex].value;
	
	var arrDate = new Date(arrYear, arrMonth-1, arrDay);

	var depDay = DDLDepDay[DDLDepDay.selectedIndex].value;
	var depMonth = DDLDepMonth[DDLDepMonth.selectedIndex].value;
	var depYear = DDLDepYear[DDLDepYear.selectedIndex].value;
	
	var depDate = new Date(depYear, depMonth-1, depDay);

	var thisDate = new Date();
	var today = new Date(thisDate.getFullYear(), thisDate.getMonth(), thisDate.getDate());

	if(arrDate >= depDate || arrDate < today)
	{
		alert('Invalid date arrival/departure date.');
		return false;
	}
	else
		return true;
}

function updateNumRooms() {
	TxtNumRooms.value = DDLNumRooms[DDLNumRooms.selectedIndex].value;
}

function updateNumAdults() {
	TxtNumAdults.value = DDLNumAdults[DDLNumAdults.selectedIndex].value;
}
