function ItemsForWeek(dateObj){
  var startMonth = months[dateObj.getMonth()];
  var startDate = dateObj.getDate();
  var weekEnd = new Date(dateObj.getTime() + millisecsPerDay * 6);
  var endMonth = months[weekEnd.getMonth()];
  var endDate = weekEnd.getDate();

  var results = [];

  for(var i = 0; i < events.length; i++){
    if(typeof events[i].month == 'undefined'){// no month, always show
      results[results.length] = events[i];
    }else{// month set
      if(typeof events[i].date == 'undefined'){// date not set
        if(startMonth == events[i].month || endMonth == events[i].month)
          results[results.length] = events[i];
      }else{
        if(
             (startMonth == events[i].month && events[i].date >= startDate && events[i].date < startDate+7) ||
             (endMonth == events[i].month && events[i].date < startDate && events[i].date > startDate-7)
        ){
          results[results.length] = events[i];
        }
      }
    }
  }
  return results;
}

function showResults(resultsSet){
  var ele = document.getElementById('theDisplayElement');
  var tmp;
  clearEle(ele);
  for(var i = 0; i < resultsSet.length; i++){
    tmp = document.createElement('p');
    if(typeof resultsSet[i].date == 'undefined'){
       tmp.appendChild(document.createTextNode('All this month'));
    }else if(typeof resultsSet[i].month != 'undefined'){
       tmp.appendChild(document.createTextNode(resultsSet[i].date+' '+resultsSet[i].month));
    }
    tmp.appendChild(document.createElement('br'));
    tmp.appendChild(document.createTextNode(resultsSet[i].event));
    ele.appendChild(tmp);
  }
  if( ! ele.hasChildNodes()){
    ele.appendChild(document.createTextNode('No events this week'));
  }
}

function clearEle(ele){
  while(ele.hasChildNodes())
    ele.removeChild(ele.firstChild);
}

