function isValidDate(dateStr) {
	var datePat = /^(\d{1,2})(\/|-)(\d{1,2})\2(\d{2}|\d{4})$/
	var matchArray = dateStr.match(datePat); // is the format ok?
	if (matchArray == null) {
		return false;
	}
	month = matchArray[1]; // parse date into variables
	day = matchArray[3];
	year = matchArray[4];
	if (month < 1 || month > 12) { // check month range
		return false;
	}
	if (day < 1 || day > 31) {
		return false;
	}
	if ((month==4 || month==6 || month==9 || month==11) && day==31) {
		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)) {
			return false;
		}
	}
	return true;  // date is valid
}


function preSelectDates(){

	var today = new Date()
	var preFrom = new Date(today.getTime() + (7 * 86400000))

	var preTo = new Date(preFrom.getTime() + (3 * 86400000))

	//fst case

		var fr_yr = document.forms[0].depyy[0].value;
		var to_yr = document.forms[0].arryy[0].value;


		var new_opt1=document.createElement('option');
		var new_opt2=document.createElement('option');
		new_opt1.value=preFrom.getFullYear()+1;new_opt1.text=new_opt1.value;
		new_opt2.value=preTo.getFullYear()+1;new_opt2.text=new_opt2.value;

var el_depyy=document.getElementById("depyy");
var el_arryy=document.getElementById("arryy");
b_firefox=true;
  try {
    el_depyy.add(new_opt1,null); // standards compliant
    } catch(e) {
    b_firefox=false;
    el_depyy.add(new_opt1); // IE only 
}
if (b_firefox) { el_arryy.add(new_opt2,null);  } else { el_arryy.add(new_opt2); }

	if(eval(document.forms[0].depmm)){	document.forms[0].depmm.selectedIndex = preFrom.getMonth()	}
	if(eval(document.forms[0].depdd)){	document.forms[0].depdd.selectedIndex  = preFrom.getDate() -1	}
	if(eval(document.forms[0].depyy)){	document.forms[0].depyy.selectedIndex  = preFrom.getFullYear() -fr_yr	}	

	if(eval(document.forms[0].arrmm)){	document.forms[0].arrmm.selectedIndex = preTo.getMonth() 	}
	if(eval(document.forms[0].arrdd)){	document.forms[0].arrdd.selectedIndex = preTo.getDate() - 1	}
	if(eval(document.forms[0].arryy)){	document.forms[0].arryy.selectedIndex = preTo.getFullYear() -to_yr	}
 
}

function changeYear0(){
	var today = new Date()
	var day1 = new Date ((document.forms[0].depmm.selectedIndex+1) + "/"+ (document.forms[0].depdd.selectedIndex+1) +"/" + (document.forms[0].depyy.options[(document.forms[0].depyy.selectedIndex)].value))
	if (((day1 - today)/86400000 <0)) {
		document.forms[0].depyy.selectedIndex = 1
	}
	return
}

function changeYear1(){
	var today = new Date()
	var day1 = new Date ((document.forms[0].arrmm.selectedIndex+1) + "/"+ (document.forms[0].arrdd.selectedIndex+1) +"/" + (document.forms[0].arryy.options[(document.forms[0].arryy.selectedIndex)].value))
	if ((day1 - today)/86400000 <0) {
		document.forms[0].arryy.selectedIndex = 1
	}
}

function isNumeric(inputStr){
	for (var i = 0; i < inputStr.length; i++){
		var oneChar = inputStr.substring(i,i+1)
		if (oneChar < "0" || oneChar > "9"){
			return false
		}
	}
	return true
}

function isEmpty(inputStr) {
	if (inputStr == "" || inputStr == null) {
		return true
	}
	return false
}

function checkform(form){
	var today = new Date()

	var sDate0 = (form.depmm.selectedIndex+1) + "/" + (form.depdd.selectedIndex+1) + "/" + form.depyy.options[(form.depyy.selectedIndex)].value
	var sDate1 = (form.arrmm.selectedIndex+1) + "/" + (form.arrdd.selectedIndex+1) + "/" + form.arryy.options[(form.arryy.selectedIndex)].value

	if (isEmpty(form.first_name.value) || isEmpty(form.last_name.value) || isEmpty(form.email.value) || isEmpty(form.phone.value)
 || isEmpty(form.adt_num.value) || isEmpty(form.chd_num.value)
 || isEmpty(form.rm_type.value) || isEmpty(form.rm_num.value)
 || isEmpty(form.pass_first0.value) || isEmpty(form.pass_last0.value)){
		alert ("Please enter your name, email address, your phone number, Passenger name(s)\nNo of adult, No of child, cabin type and No of cabin.")
		return false;
	}else{
		//alert(sDate0 + "\n" + sDate1)
		if (! (isValidDate( sDate0 ) && isValidDate(sDate1))){
			alert("Invalid date(s)")
			return false;
		}else{
			var DfromDate = new Date(sDate0)
			var DtoDate = new Date(sDate1)
			var dateDiff = ( (DtoDate - DfromDate) /86400000 )+1
			if (dateDiff < 1){
				alert("Invalid date sequency!")
				return false
			}
			var today = new Date()
			if (  (today - DfromDate) > 86400000   ){
				alert("Invalid date!")
				return false
			}else{
				form.submit();
			}
		}
	}
	return true;
}
