
//<![CDATA[
function launchCalender(whichDate){

	if (whichDate == 'arr_time') {
		if (document.getElementById('arr_time').value.length >0) {
			fecha = document.getElementById('arr_time').value;
			datePat = /^(\d{1,2})(\/|-)(\d{1,2})(\/|-)(\d{4})$/;
			matchArray = fecha.match(datePat); // is the format ok?
			month = matchArray[3]; // p@rse date into variables
			year = matchArray[5];
			
			if (isDate(fecha, 'Arrival date')) {
				objWindow=window.open('../bookings/admin/date_picker.php?monthnum=' + month + '&theyear=' + year + '&whichDate=' + whichDate, 'calendar', config='height=165,width=320');
			} else {
				objWindow=window.open('../bookings/admin/date_picker.php?whichDate=' + whichDate, 'calendar', config='height=165,width=320');
			}
		} else {
			objWindow=window.open('../bookings/admin/date_picker.php?whichDate=' + whichDate, 'calendar', config='height=165,width=320');
		}		
	}
	
	if (whichDate == 'dept_time') {
		if (document.getElementById('dept_time').value.length >0) {
			fecha = document.getElementById('dept_time').value;
			datePat = /^(\d{1,2})(\/|-)(\d{1,2})(\/|-)(\d{4})$/;
			matchArray = fecha.match(datePat); // is the format ok?
			month = matchArray[3]; // p@rse date into variables
			year = matchArray[5];
			if (isDate(fecha, 'Departure date')) {
				objWindow=window.open('../bookings/admin/date_picker.php?monthnum=' + month + '&theyear=' + year + '&whichDate=' + whichDate, 'calendar', config='height=165,width=320');
			} else {
				if (document.getElementById('arr_time').value.length >0) {
					fecha = document.getElementById('arr_time').value;
					datePat = /^(\d{1,2})(\/|-)(\d{1,2})(\/|-)(\d{4})$/;
					matchArray = fecha.match(datePat); // is the format ok?
					month = matchArray[3]; // p@rse date into variables
					year = matchArray[5];
					
					if (isDate(fecha, 'Arrival date')) {
						objWindow=window.open('../bookings/admin/date_picker.php?monthnum=' + month + '&theyear=' + year + '&whichDate=' + whichDate, 'calendar', config='height=165,width=320');
					} else {
						objWindow=window.open('../bookings/admin/date_picker.php?whichDate=' + whichDate, 'calendar', config='height=165,width=320');
					}
				} else {
					objWindow=window.open('../bookings/admin/date_picker.php?whichDate=' + whichDate, 'calendar', config='height=165,width=320');
				}
			}
		} else {
			if (document.getElementById('arr_time').value.length >0) {
				fecha = document.getElementById('arr_time').value;
				datePat = /^(\d{1,2})(\/|-)(\d{1,2})(\/|-)(\d{4})$/;
				matchArray = fecha.match(datePat); // is the format ok?
				month = matchArray[3]; // p@rse date into variables
				year = matchArray[5];
				
				if (isDate(fecha, 'Arrival date')) {
					objWindow=window.open('../bookings/admin/date_picker.php?monthnum=' + month + '&theyear=' + year + '&whichDate=' + whichDate, 'calendar', config='height=165,width=320');
				} else {
					objWindow=window.open('../bookings/admin/date_picker.php?whichDate=' + whichDate, 'calendar', config='height=165,width=320');
				}
			} else {
				objWindow=window.open('../bookings/admin/date_picker.php?whichDate=' + whichDate, 'calendar', config='height=165,width=320');
			}		
		}		
	}
}
//]]>

function isDate(dateStr, datefield) {
	
	var datePat = /^(\d{1,2})(\/|-)(\d{1,2})(\/|-)(\d{4})$/;
	var matchArray = dateStr.match(datePat); // is the format ok?
	
	if (matchArray == null) {
		alert(datefield + " is in incorrectly formatted, please enter dates as dd/mm/yyyy.");
		return false;
	}
	
	day = matchArray[1];
	month = matchArray[3]; // p@rse date into variables
	year = matchArray[5];
	
	if (month < 1 || month > 12) { // check month range
		alert(datefield + " month must be between 1 and 12.");
		return false;
	}
	
	if (day < 1 || day > 31) {
		alert(datefield + " day must be between 1 and 31.");
		return false;
	}
	
	if ((month==4 || month==6 || month==9 || month==11) && day==31) {
		alert(datefield + " month "+month+" doesn`t have 31 days!")
		return false;
	}
	
	if (month == 2) { // check for february 29th
		var isleap = (year % 4 == 0 && (year % 100 != 0 || year % 400 == 0));
		if (day > 29 || (day==29 && !isleap)) {
			alert(datefield + " February " + year + " doesn`t have " + day + " days!");
			return false;
		}
	}
	
	return true; // date is valid
}

function validateform() {
	formisvalid = true;
	
	if (formisvalid == true) {
		if (document.getElementById('arr_time').value.length !=0) {
			fecha = document.getElementById('arr_time').value;
			if (isDate(fecha, 'Arrival date')) {
		   		formisvalid = true;
			} else {
				formisvalid = false;
				alert('Arrival date is not valid');
			}
		}
	}
	
	if (formisvalid == true) {
		if (document.getElementById('dept_time').value.length !=0) {
			fecha = document.getElementById('dept_time').value;
			if (isDate(fecha, 'Departure date')) {
		   		formisvalid = true;
			} else {
				formisvalid = false;
				alert('Departure date is not valid');
			}
		}
	}
	
	if (formisvalid == true) {
		//alert('valid');
		document.booking_form.submit();
	}
		

}