function netscapeKeyPress(e) {
    if (e.which == 13)
        Calculate_Form();
}

function microsoftKeyPress() {
    if (window.event.keyCode == 13)
        Calculate_Form();
}

if (navigator.appName == 'Netscape') {
    window.captureEvents(Event.KEYPRESS);
    window.onKeyPress = netscapeKeyPress;
}

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 Reset_Result() {
  document.Form_Date_Difference.result.value = "";
}

function Calculate_Form() {
  var date_format = "%m/%d/%y";
  var firstObj, secondObj;
  with (document.Form_Date_Difference) {
    firstObj = buildDate(first_date.value,date_format);
    secondObj = buildDate(second_date.value,date_format);
  }

  if (!(typeof firstObj == "object")) {
    alert("The First Date is not in a valid format!!");
    return;
  }
  if (!(typeof secondObj == "object")) {
    alert("The Second Date is not in a valid format!!");
    return;
  }

  var days = daysElapsed(firstObj,secondObj);
  if (days < 0) { days *= -1; }

  var tempStr = "";
  if (days == 0) {
     tempStr = "Those dates are the same.";
  } else if (days == 1) {
    tempStr = "Those dates are 1 day apart.";
  } else {
    tempStr = "Those dates are " + days + " days apart.";
  }

  document.Form_Date_Difference.result.value = tempStr;
}
