rem: newItem = createToDo(); 
add: newItem = createTodo(); 
context: function updateComponentType(aValue) {    if ((aValue == "event" && isEvent(window.calendarItem)) ||        (aValue == "todo" && isToDo(window.calendarItem))) {        return;    }    var oldItem = window.calendarItem.clone();    saveDialog(oldItem);    var newItem;    if (aValue == "event") {        newItem = createEvent();        oldItem.wrappedJSObject.cloneItemBaseInto(newItem.wrappedJSObject);        newItem.startDate = oldItem.entryDate || now();        newItem.endDate = oldItem.dueDate || now();    } else {        newItem = createToDo();        oldItem.wrappedJSObject.cloneItemBaseInto(newItem.wrappedJSObject);        newItem.entryDate = oldItem.startDate;        newItem.dueDate = oldItem.endDate;    }    window.calendarItem = newItem;    loadDialog(newItem);    // remove old style rule, so the hidden stuff comes back    const kDialogStylesheet = "chrome://calendar/content/calendar-event-dialog.css";    for each(var stylesheet in document.styleSheets) {        if (stylesheet.href != kDialogStylesheet) {            continue;        }        for (var i=0; i < stylesheet.cssRules.length; i++) {            if (stylesheet.cssRules[i].selectorText == ".todo-only" ||                stylesheet.cssRules[i].selectorText == ".event-only") {                stylesheet.deleteRule(i);                break;            }         }        break;    }    updateStyle();    updateAccept();    updateDueDate();    updateEntryDate();    updateAllDay();    updateRecurrence();    window.sizeToContent();}
meta: 10234	/local1/tlutelli/issta_data/temp/all_js/javascript/2007_temp/2007/10234/95fcd3064784d662ae7d1957050f1eb53549eace/calendar-event-dialog.js/clean/calendar/base/content/calendar-event-dialog.js