rem: todo = createToDo(); 
add: todo = createTodo(); 
context: function createTodoWithDialog(calendar, dueDate, summary, todo){    const kDefaultTimezone = calendarDefaultTimezone();    var onNewItem = function(item, calendar, originalItem) {        doTransaction('add', item, calendar, null, null);    }    if (todo) {        openEventDialog(todo, calendar, "new", onNewItem);        return;    }    todo = createToDo();    if (calendar) {        todo.calendar = calendar;    } else if ("getSelectedCalendarOrNull" in window) {        // Sunbird specific code        todo.calendar = getSelectedCalendarOrNull();    }    if (summary)        todo.title = summary;    if (dueDate)        todo.dueDate = dueDate;    var onNewItem = function(item, calendar, originalItem) {        calendar.addItem(item, null);    }    setDefaultAlarmValues(todo);    openEventDialog(todo, calendar, "new", onNewItem);}
meta: 10234	/local1/tlutelli/issta_data/temp/all_js/javascript/2007_temp/2007/10234/95fcd3064784d662ae7d1957050f1eb53549eace/calendar-item-editing.js/clean/calendar/base/content/calendar-item-editing.js