

function y2k(number) { return (number < 1000) ? number + 1900 : number; }

function recalculateToDate(formEle)
{
	var MINUTE = 60 * 1000;
	var HOUR = MINUTE * 60;
	var DAY = HOUR * 24;
	var WEEK = DAY * 7;
	myForm = document.forms["__aspnetForm"];
	aFromArray = formEle.value.split("/");
	if (aFromArray.length == 3) {
		sFrom = new Date(aFromArray[2],(aFromArray[1]-1),aFromArray[0]);
		if (isInteger(myForm.days.value) == true) {
			var iDays = myForm.days.value;
			iDays = iDays - 1;
			sDate = new Date(sFrom.getTime() + iDays*24*60*60*1000);

			iToDay = sDate.getDate();
			iToMonth = sDate.getMonth() + 1;
			iToYear = sDate.getYear();

			if(iToDay.length == 1)
				iToDay = "0" + iToDay;

			if(iToMonth <= 9)
				iToMonth = "0" + iToMonth;

			iToYear = y2k(iToYear);

			sToDate = iToDay + '/' + iToMonth + '/' + iToYear;
			myForm.txtDateTo.value = sToDate;
		} else if (myForm.days.value == "annual") {
			var iDays = 365;
			iDays = iDays - 1;
			sDate = new Date(sFrom.getTime() + iDays*24*60*60*1000);

			iToDay = sDate.getDate();
			iToMonth = sDate.getMonth() + 1;
			iToYear = sDate.getYear();

			if(iToDay.length == 1)
				iToDay = "0" + iToDay;

			if(iToMonth <= 9)
				iToMonth = "0" + iToMonth;

			iToYear = y2k(iToYear);

			sToDate = iToDay + '/' + iToMonth + '/' + iToYear;
			myForm.txtDateTo.value = sToDate;
		}
			
	}
	
}

function datesAndDaysFROMONLY(formEle) {
	aFromArray = formEle.value.split("/");
	if (aFromArray.length == 3) {
	sFrom = new Date(aFromArray[2],(aFromArray[1]-1),aFromArray[0]);
	sTo = myForm.txtDateTo.value;
	if (sTo != "") {
		aToArray = sTo.split("/");
		if (aToArray.length == 3) {
			sTo = new Date(aToArray[2],(aToArray[1]-1),aToArray[0]);
			sRange = new Date(sTo - sFrom);
			sRange = (sRange / DAY) + 1;
			if (sRange > 0) {
								myForm.days.value = sRange;					
							}
		}
	} else {
		// Nothin in the To date so see if a Day Dropdown selected & use that instead
		var iY = myForm.days.value;
		if (iY > 1) {
			var iDays = myForm.days.value;
			sRange = ((iDays - 1) * DAY);
			var iNewDate = sFrom.valueOf() + sRange;
			sTo = new Date(iNewDate);
			var sDate = sTo.getDate() + "/";        // Get day
			sDate += (sTo.getMonth() + 1) + "/";    // Get month
			sDate += sTo.getYear();               	// Get year
			myForm.txtDateTo.value = sDate;
		}
	}
}	
}
     			
function datesAndDays(formEle) {
	if (document.all) {
		myForm = document.forms["__aspnetForm"];
	} else {
		myForm = document.forms["__aspnetForm"];
	}
		var MINUTE = 60 * 1000;
		var HOUR = MINUTE * 60;
		var DAY = HOUR * 24;
		var WEEK = DAY * 7;
		var sFrom;
		var sTo;
		var sRange;
		
		if (formEle.value == "") return;
		// Pass a date entry & process to days - or pass days and process to dates
		// NB: has to be formEle.name - netscape does not recognise formEle.id !! (IE works with either)
		
				
		
		switch (formEle.name) {
			case "days":
				var iY = myForm.days.value;
				if (iY > 0) {  // Don't do this if AMT displayed in the days drop down
					sFrom = myForm.txtDateFrom.value;
					if (sFrom != "") {
						aFromArray = sFrom.split("/");
						if (aFromArray.length == 3) {
							sFrom = new Date(aFromArray[2],(aFromArray[1]-1),aFromArray[0]);
							var iDays = myForm.days.value;
							sRange = ((iDays - 1) * DAY);
							var iNewDate = sFrom.valueOf( ) + sRange;
							sTo = new Date(iNewDate);
							var sDate = sTo.getDate() + "/";        // Get day
							sDate += (sTo.getMonth() + 1) + "/";    // Get month
							sDate += sTo.getYear();               	// Get year
		   					myForm.txtDateTo.value = sDate;
						}
					}
					
				}
			break;
			
			case "txtDateFrom":
				aFromArray = formEle.value.split("/");
				if (aFromArray.length == 3) {
					sFrom = new Date(aFromArray[2],(aFromArray[1]-1),aFromArray[0]);
					sTo = myForm.txtDateTo.value;
					if (sTo != "") {
						aToArray = sTo.split("/");
						if (aToArray.length == 3) {
							sTo = new Date(aToArray[2],(aToArray[1]-1),aToArray[0]);
							sRange = new Date(sTo - sFrom);
							sRange = (sRange / DAY) + 1;
							if (sRange > 0) {
								myForm.days.value = sRange;					
							}
						}
					} else {
						// Nothin in the To date so see if a Day Dropdown selected & use that instead
						var iY = myForm.days.value;
						if (iY > 1) {
							var iDays = myForm.days.value;
							sRange = ((iDays - 1) * DAY);
							var iNewDate = sFrom.valueOf() + sRange;
							sTo = new Date(iNewDate);
							var sDate = sTo.getDate() + "/";        // Get day
							sDate += (sTo.getMonth() + 1) + "/";    // Get month
							sDate += sTo.getYear();               	// Get year
		   					myForm.txtDateTo.value = sDate;
						}
					}
				}
			break;
			case "txtDateTo":
				
				aToArray = formEle.value.split("/");
				if (aToArray.length == 3) {
					sTo = new Date(aToArray[2],(aToArray[1]-1),aToArray[0]);
					sFrom = myForm.txtDateFrom.value;
					if (sFrom != "") {
						aFromArray = sFrom.split("/");
						if (aFromArray.length == 3) {
							sFrom = new Date(aFromArray[2],(aFromArray[1]-1),aFromArray[0]);
							sRange = new Date(sTo - sFrom);
							sRange = (sRange / DAY) + 1;
							
							if (sRange > 0) {
								myForm.days.value = sRange;					
							}
								
								
						}
					}
				}
					case "submit":
				
				aToArray = formEle.value.split("/");
				if (aToArray.length == 3) {
					sTo = new Date(aToArray[2],(aToArray[1]-1),aToArray[0]);
					sFrom = myForm.txtDateFrom.value;
					if (sFrom != "") {
						aFromArray = sFrom.split("/");
						if (aFromArray.length == 3) {
							sFrom = new Date(aFromArray[2],(aFromArray[1]-1),aFromArray[0]);
							sRange = new Date(sTo - sFrom);
							sRange = (sRange / DAY) + 1;
							
							if (sRange > 0) {
								myForm.days.value = sRange;					
							}
								
								
						}
					}
				}
			break;
			
		}
}
			
function isDateValid(sVal) {
	
	var sDate = sVal.split("/");
	var sDateOK = false;
	
	if (sDate.length == 3) {
	month = sDate[1]; // parse date into variables
	dcday = sDate[0];
	year = sDate[2];
	
	if (dcday.substring(0,1) == "0")
		dcday = dcday.replace("0","");
		
	
	
	if ((month >= 1) && (month <= 12)) { // month ok
		if ((dcday >= 1) && (dcday <= 31)) { // days ok
			if ((month==4 || month==6 || month==9 || month==11) && dcday==31) { // these months don't have 31 days
				alert("Month " + month + " does not have 31 days.");
				
				sDateOK = false;
			} else {
				sDateOK = true;
			}
			if (month == 2) { // check for leap year
				var isleap = (year % 4 == 0 && (year % 100 != 0 || year % 400 == 0))
				if (dcday>29 || (dcday==29 && !isleap)) {
					sDateOK = false;
					alert("The year " + year + " is not a leap year.\nFebruary cannot have 29 days.");
					
				} else {
					sDateOK = true;
				}
			}
		} else {
			sDateOK = false;
			alert("Please supply date in dd/mm/yyyy format.");
			
		}
	} else {
		sDateOK = false;
		alert("Please supply date in dd/mm/yyyy format.");
		
	}
	if (sDateOK) {
		oToday = new Date();
		// Note - year must be a 4 digit number & month starts at 0 (days and years do not)
		if (year.length == 2) year = "20" + year;
		if (year.length == 1) year = "200" + year;
		month = month - 1;
		dcday = parseInt(dcday) + 1; // Can purchase for today, so just advance the day by 1
		oFormDate = new Date(year, month, dcday);
		
		
		if (oToday.getTime() > oFormDate.getTime()) {
			alert ("The Departure date can not be before todays date!");
			sDateOK = false;
		}
	}
	} else {
		alert("Please supply date in dd/mm/yyyy format.");
		sDateOk = false;
	}
	return sDateOK;
}

function DateCheck(myFormEle) {
	var sVal = myFormEle.value;
	var sDate = sVal.split("/");
	var sDateOK = false;
	
	month = sDate[1]; // parse date into variables
	dcday = sDate[0];
	year = sDate[2];
	
	if (dcday.substring(0,1) == "0")
		dcday = dcday.replace("0","");

	if ((month >= 1) && (month <= 12)) { // month ok
		if ((dcday >= 1) && (dcday <= 31)) { // days ok
			if ((month==4 || month==6 || month==9 || month==11) && dcday==31) { // these months don't have 31 days
				alert("Month " + month + " does not have 31 days.");
				myFormEle.focus();
				sDateOK = false;
			} else {
				sDateOK = true;
			}
			if (month == 2) { // check for leap year
				var isleap = (year % 4 == 0 && (year % 100 != 0 || year % 400 == 0))
				if (dcday>29 || (dcday==29 && !isleap)) {
					sDateOK = false;
					alert("The year " + year + " is not a leap year.\nFebruary cannot have 29 days.");
					myFormEle.focus();
				} else {
					sDateOK = true;
				}
			}
		} else {
			sDateOK = false;
			alert("Please supply date in dd/mm/yyyy format.");
			myFormEle.focus();
		}
	} else {
		sDateOK = false;
		alert("Please supply date in dd/mm/yyyy format.");
		myFormEle.focus();
	}
	if (sDateOK) {
		oToday = new Date();
		// Note - year must be a 4 digit number & month starts at 0 (days and years do not)
		if (year.length == 2) year = "20" + year;
		if (year.length == 1) year = "200" + year;
		month = month - 1;
		dcday = parseInt(dcday) + 1; // Can purchase for today, so just advance the day by 1
		oFormDate = new Date(year, month, dcday);
		if (oToday.getTime() > oFormDate.getTime()) {
			alert ("2The Departure date can not be before todays date!");
			sDateOK = false;
		}
	}
	if (sDateOK) {
		datesAndDays(myFormEle);
	}
	return sDateOK;
}

function DatePicker(sFormEleToChange) {
	
	var sOpenUrl = "includes/calendar.aspx?formname=__aspnetForm." + sFormEleToChange + "&bId=" + QueryString("bId") + "&rsId=" + QueryString("rsId") + "&days=" + QueryString("days");
	var screenpos = "";
	//
	screenpos = "left=" + (xMousePos + 10);
	screenpos = screenpos + ",top=" + (yMousePos + 10);

	calendar_window=window.open(sOpenUrl,"calendar_window","width=154,height=188," + screenpos);
	//calendar_window=window.open(sOpenUrl,"calendar_window","width=500,height=600," + screenpos);
	
	//calendar_window.focus();
}	

  






	

//-->
