function verify_form(f) {

	find_days(f);

  if(f.first_name.value == '') {
	alert('Please enter your first name.');
	f.first_name.focus();
	return false;
  }

  if(f.surname.value == '') {
	alert('Please enter your surname.');
	f.surname.focus();
	return false;
  }

  if(f.country.selectedIndex == 0) {
	alert('Please enter your country');
	f.country.focus();
	return false;
  }

  if(!isEmailValid(f.email.value)) {
	f.email.focus();
	return false;
  }

  if(f.no_days_stay.value <= 0) {
	alert('Please enter a valid arrival and departure date.');
	if(f.aday.selectedIndex == 0) f.aday.focus();
	else if(f.amonth.selectedIndex == 0) f.amonth.focus();
	else if(f.ayear.selectedIndex == 0) f.ayear.focus();
	else if(f.dday.selectedIndex == 0) f.dday.focus();
	else if(f.dmonth.selectedIndex == 0) f.dmonth.focus();
	else if(f.dyear.selectedIndex == 0) f.dyear.focus();
	else f.dday.focus();
	return false;
  }

  if(f.room_description.selectedIndex == 0) {
	alert('You must select a room type');
	f.country.focus();
	return false;
  }
/*
  var room_type_selected = false;
  for(var i=0; i< f.roomtype.length; i++) {
	  if(f.roomtype[i].checked) {
		room_type_selected = true;
		break;
	  }
  }

  if(!room_type_selected) {
	alert('You must select a room type');
	f.roomtype[0].focus();
	return false;
  }
*/
/*
  if(f.deposit_amount.value == '') {
	alert('Please enter a deposit amount.');
	f.deposit_amount.focus();
	return false;
  }
*/

  if(f.ccname.value == '') {
    alert('Please enter the name on the credit card');
    f.ccname.focus();
	return false;
  }

  if(!checkCreditCard(f.ccnumber.value, f.cctype.options[f.cctype.selectedIndex].value)) {
	alert(ccErrors[ccErrorNo]);
	f.ccnumber.focus();
    return false;
  }

  return true;
}

function find_days(form) {
	if(form.aday.value != '00' && form.amonth.value!='00' && form.ayear.value!='0000' && form.dday.value != '00' && form.dmonth.value!='00' && form.dyear.value!='0000') {
		date1 = new Date(form.ayear.value, (form.amonth.value-1), form.aday.value)
		date2 = new Date(form.dyear.value, (form.dmonth.value-1), form.dday.value)
		if(date2 > date1) update_days(form, daysElapsed(date2, date1))
		else update_days(form, 0)
	} else update_days(form, 0)
}

function update_days(form, days) {
	if(days==1) str = ' day'
	else str = ' days'
	form.no_days_stay.value = days
//	form.no_days_stay.value = days
	document.getElementById('no_days').innerHTML = days + str;
//	document.all.no_days.innerText = days + str;
}

function y2k(number) { return (number < 1000) ? number + 1900 : number; }

function daysElapsed(date1,date2) {
    var difference =
        Date.UTC(y2k(date1.getYear()),date1.getMonth(),date1.getDate(),0,0,0)
      - Date.UTC(y2k(date2.getYear()),date2.getMonth(),date2.getDate(),0,0,0);
    return difference/1000/60/60/24;
}

function days_between(date1, date2) {

    // The number of milliseconds in one day
    var ONE_DAY = 1000 * 60 * 60 * 24

    // Convert both dates to milliseconds
    var date1_ms = date1.getTime()
    var date2_ms = date2.getTime()

    // Calculate the difference in milliseconds
    var difference_ms = Math.abs(date1_ms - date2_ms)
    
    // Convert back to days and return
    return Math.round(difference_ms/ONE_DAY)

}
