function getDaysBetween(start, end) {
  if (start.getMonth() == end.getMonth() && start.getDate() == end.getDate())
  {
    return 0;
  } else {
    start = zeroOutTime(start);
    end = zeroOutTime(end);
    days = (end - start)/86400000;
    if (end.getYear() > start.getYear()) {
      days--;
    }
    return Math.round(days);
  }
}

function zeroOutTime(date) {
  date.setHours(0);
  date.setMinutes(0);
  date.setSeconds(0);
  date.setMilliseconds(0);
  return date;
}

function daysUntilNextChristmas() {
  var today = new Date();

  var next_christmas = new Date();

  if (today.getMonth() == 11 && today.getDate() > 25) {
    next_christmas.setYear(today.getFullYear() + 1);
  }
  next_christmas.setMonth(11);
  next_christmas.setDate(25);

  days = getDaysBetween(today, next_christmas)
  return days;
}

function showDaysUntilChristmas(div_id) {
  var daysUntil = daysUntilNextChristmas();
  $(div_id).innerHTML = daysUntil + ' Day' + (daysUntil == 1 ? '' : 's') ;
}
