function keyHandler(evt){

  var keyCode = evt.which ? evt.which : evt.keyCode;
  //return keyCode < '0'.charCodeAt() || keyCode > '9'.charCodeAt();
	//if(keyCode == 46){alert("46!!")};
  //alert(keyCode + " is " + String.fromCharCode(keyCode));
  return keyCode == 9;
  
}
	
	function validateCal() {
			error = false;
		
		if(error == false) {
			validateDates();
			document.getElementById("f_calcdate").focus();
		}
	
	}

	function validateDates() {
	var monthLength = new Array(31,28,31,30,31,30,31,31,30,31,30,31);
	var vyear1 = document.getElementById("startYear").value;
	var vyear2 = document.getElementById("endYear").value;
	var vmonth1 = document.getElementById("startMonth").value;
	var vmonth2 = document.getElementById("endMonth").value;
	var vday1 = document.getElementById("startDay").value;
	var vday2 = document.getElementById("endDay").value;


	if (!vday1 || !vmonth1 || !vyear1)
		return false;

	if (vyear1/4 == parseInt(vyear1/4))
		monthLength[1] = 29;

	if (vday1 > monthLength[vmonth1-1])
		return false;

	monthLength[1] = 28;

	var now = new Date();
	now = now.getTime(); //NN3

	/*var dateToCheck1 = new Date();
	dateToCheck1.setYear(vyear1);
	dateToCheck1.setMonth(vmonth1-1);
	dateToCheck1.setDate(vday1);
	var checkDate1 = dateToCheck1.getTime();

	var dateToCheck2 = new Date();
	dateToCheck2.setYear(vyear2);
	dateToCheck2.setMonth(vmonth2-1);
	dateToCheck2.setDate(vday2);
	var checkDate2 = dateToCheck2.getTime();*/

	var checkDate1 = vyear1+vmonth1+vday1;
	var checkDate2 = vyear2+vmonth2+vday2;
	var cd1 = (parseInt(checkDate1));
	var cd2 = (parseInt(checkDate2));
	
	if(checkDate2 < checkDate1){
		error = true;
	}
	
	checkErrorSelect("valid range of dates");

	
	}	
	
	function validateCalToday(which) {
	var monthLength = new Array(31,28,31,30,31,30,31,31,30,31,30,31);
	if(which == "start") {
	var vyear1 = parseFloat(document.getElementById("startYear").value);
	var vmonth1 = parseFloat(document.getElementById("startMonth").value);
	var vday1 = parseFloat(document.getElementById("startDay").value);
	}

	if(which == "end") {
	var vyear1 = parseFloat(document.getElementById("endYear").value);
	var vmonth1 = parseFloat(document.getElementById("endMonth").value);
	var vday1 = parseFloat(document.getElementById("endDay").value);		
	}

	if(which == "hotel") {
	var vyear1 = parseFloat(document.getElementById("respYear").value);
	var vmonth1 = parseFloat(document.getElementById("respMonth").value);
	var vday1 = parseFloat(document.getElementById("respDay").value);			
	}
	
	if(which == "group") {
	var vyear1 = parseFloat(document.getElementById("groupYear").value);
	var vmonth1 = parseFloat(document.getElementById("groupMonth").value);
	var vday1 = parseFloat(document.getElementById("groupDay").value);	
	}
	
	
	if (!vday1 || !vmonth1 || !vyear1)
		return false;

	if (vyear1/4 == parseInt(vyear1/4))
		monthLength[1] = 29;

	if (vday1 > monthLength[vmonth1-1])
		return false;

	monthLength[1] = 28;

	var now = new Date();
	now = now.getTime(); //NN3

	var dateToCheck = new Date();
	dateToCheck.setYear(vyear1);
	dateToCheck.setMonth(vmonth1-1);
	dateToCheck.setDate(vday1);
	var checkDate = dateToCheck.getTime();

	var futureDate = (now < checkDate);
	var pastDate = (now > checkDate);
	
	if(pastDate == true){
		error = true;
	}else{
		error = false;
	}
		
		checkErrorSelect("date that is not in the past");

	
	}	

	
function advanceEndDate() {

	var newDay;
	var sMonth = document.getElementById("iMonth").value;
	var sDay = document.getElementById("iDay").value;
	var sYear = document.getElementById("iYear").value;
	var eMonth = document.getElementById("eMonth");
	var eMonthVal = document.getElementById("eMonth").value;
	var eDay = document.getElementById("eDay");
	var eDayVal = document.getElementById("eDay").value;
	var eYear = document.getElementById("eYear");
	var eYearVal = document.getElementById("eYear").value;

	var sdropMonth = document.getElementById("iMonth");
	var sdropDay = document.getElementById("iDay");
	var sdropYear = document.getElementById("iYear");
			
	var validDays = new Array(31,28,31,30,31,30,31,31,30,31,30,31);

	eDayVal = eval( (parseFloat(sDay)) + 2);	
	eMonthVal = ( (parseFloat(sMonth)) );

	if (eDayVal > validDays[sMonth-1]) {

		eDayVal = eDayVal - validDays[sMonth-1];
		eMonthVal = ( (parseFloat(sMonth)) + 1);
		
		if (eMonthVal > 12) {
			
			eMonthVal = 1;
			eYearVal = ( (parseFloat(sYear)) + 1);

		} else {

			eYearVal = sYear;
		
		}	
	}

	if (eMonth) {
		for (i=0; i < eMonth.options.length; i++) {  //  assume field_mo is a select list
			eMonth.options[i].selected = false;    //  this clears out the select list - FOR IE 5.2 on MAC
			if (eMonthVal == eMonth.options[i].value) 
				eMonth.options[i].selected = true;
			
		}
	}
	
	if (eDay) {
		for (i=0; i < eDay.options.length; i++) {  //  assume field_day is a select list
			eDay.options[i].selected = false;    //  this clears out the select list - FOR IE 5.2 on MAC
			if (eDayVal == eDay.options[i].value) 
				eDay.options[i].selected = true;
			
		}
	}

	if (eYear) {
		for (i=0; i < eYear.options.length; i++) {  //  assume field_year is a select list
			eYear.options[i].selected = false;    //  this clears out the select list - FOR IE 5.2 on MAC
			if (eYearVal == eYear.options[i].value) 
				eYear.options[i].selected = true;
			
		}
	}

	var openerVal = document.getElementById("CalendarLastBookableDate");

	var month = eMonthVal;	
	var bmonth = (month < 10) ? '0'+month : ''+month;
	
	var bdate = bmonth + "/" + eDayVal + "/" + eYearVal;

	
	//openerVal.value = bdate;
	//window.opener.document.startdate.CalendarCurrentDate.value = bdate;

}
