rem: if (aTodo.dueDate.isValid) { 
add: if (aTodo.dueDate && aTodo.dueDate.isValid) { 
context: function ToDoProgressAtom( aTodo ){  var now = new Date();  var completed = (aTodo.percentComplete == 100);  if (completed)      return "completed";  if (aTodo.dueDate.isValid) {      if (aTodo.dueDate.jsDate.getTime() < now.getTime())          return "overdue";      else if (aTodo.dueDate.year == now.getFullYear() &&               aTodo.dueDate.month == now.getMonth() &&               aTodo.dueDate.day == now.getDate())          return "duetoday";  }  if (aTodo.entryDate.isValid &&      aTodo.entryDate.jsDate.getTime() < now.getTime())      return "inprogress";  return "future";}
meta: 10234	/local1/tlutelli/issta_data/temp/all_js/javascript/2006_temp/2006/10234/f47a45a621ec67f93e2e8b43a50e1f5faba056a0/unifinderToDo.js/buggy/calendar/resources/content/unifinderToDo.js