MONTH_NAMES = [ 'January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December' ];
MONTH_ABBREVIATIONS = [ 'Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec' ];


// Compare the given dates.
// -1: if date_1 < date 2
//  0: if date_1 and date_2 fall on the current day
// +1: if date_1 > date_2
function compareDates(date_1, date_2) {
  var date_1_year = date_1.getFullYear();
  var date_2_year = date_2.getFullYear();
  if( date_1_year < date_2_year ){ return -1; }
  else if( date_1_year > date_2_year ){ return 1; }
  else {
    var date_1_month = date_1.getMonth();
    var date_2_month = date_2.getMonth();
    if( date_1_month < date_2_month ){ return -1; }
    else if( date_1_month > date_2_month ){ return 1; }
    else {
      var date_1_day = date_1.getDate();
      var date_2_day = date_2.getDate();
      if( date_1_day < date_2_day ){ return -1; }
      else if( date_1_day > date_2_day ){ return 1; }
      return 0;
    }
  }
}


// Compare the given date to the given date range.
// -1: if date_1 < date range
//  0: if date_1 within date range
// +1: if date_1 > date range
function compareDateToRange(date, range_lower_bound, range_upper_bound) {
  var date_compared_to_lower_bound = compareDates(date, range_lower_bound);
  var date_compared_to_upper_bound = compareDates(date, range_upper_bound);
  if( date_compared_to_lower_bound == -1 ){ return -1; }
  else if( date_compared_to_upper_bound == 1 ){ return 1; }
  return 0;
}

