function beforeSetDateValue(ref_field, target_field, date) {
  if (date!="") {
    var startDate=document.forms[0]["start_date"];
    var endDate=document.forms[0]["end_date"];

    if (target_field==endDate &&
        checkDate(getDateValue(startDate))==0 &&
        compareDates(getDateValue(startDate), date)>0) {
      date=getDateValue(endDate);
      alert("End Date should not be earlier than Start Date, please select again.");
    }
  }

  return date;
}

function afterSetDateValue(ref_field, target_field, date) {
  if (date!="") {
    var startDate=document.forms[0]["start_date"];
    var endDate=document.forms[0]["end_date"];

    if (target_field==startDate &&
        checkDate(getDateValue(endDate))==0 &&
        compareDates(date, getDateValue(endDate))>0) {
      setDateValue(endDate, date);
      alert("End Date was earlier than Start Date, it's now set to Start Date.");
    }
  }
}

function checkForm() {
  var startDate=document.forms[0]["start_date"];
  var endDate=document.forms[0]["end_date"];

  if (checkDate(getDateValue(startDate))!=0) {
    alert("Please select a Start Date.");
  }
  else if (checkDate(getDateValue(endDate))!=0) {
    alert("Please select an End Date.");
  }
  else if (compareDates(getDateValue(startDate), getDateValue(endDate))>0) {
    alert("End Date should not be earlier than Start Date.");
  }
  else {
    alert("Dates are good.");
  }
}
